From cadaaeb21f89b165717f18079ee8616736be7501 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Tue, 4 Apr 2023 12:54:59 -0700 Subject: [PATCH] add padding between dagre labels --- ci/release/changelogs/next.md | 2 + d2layouts/d2dagrelayout/layout.go | 82 +++-- .../testdata/dots-real/sketch.exp.svg | 168 ++++----- .../testdata/paper-real/sketch.exp.svg | 168 ++++----- .../d2sketch/testdata/terminal/sketch.exp.svg | 176 +++++----- .../TestCLI_E2E/internal_linked_pdf.exp.pdf | Bin 79806 -> 79882 bytes e2etests/stable_test.go | 6 + .../patterns/real-lines/dagre/board.exp.json | 44 +-- .../patterns/real-lines/dagre/sketch.exp.svg | 174 +++++----- .../patterns/real/dagre/board.exp.json | 32 +- .../patterns/real/dagre/sketch.exp.svg | 168 ++++----- .../dagre/board.exp.json | 42 +-- .../dagre/sketch.exp.svg | 174 +++++----- .../stable/chaos2/dagre/board.exp.json | 136 ++++---- .../stable/chaos2/dagre/sketch.exp.svg | 194 +++++------ .../edge-label-overflow/dagre/board.exp.json | 319 +++++++++++++++++ .../edge-label-overflow/dagre/sketch.exp.svg | 104 ++++++ .../edge-label-overflow/elk/board.exp.json | 324 ++++++++++++++++++ .../edge-label-overflow/elk/sketch.exp.svg | 104 ++++++ .../stable/elk_shim/dagre/board.exp.json | 96 +++--- .../stable/elk_shim/dagre/sketch.exp.svg | 182 +++++----- .../stable/mono-font/dagre/board.exp.json | 28 +- .../stable/mono-font/dagre/sketch.exp.svg | 166 ++++----- .../self-referencing/dagre/board.exp.json | 132 +++---- .../self-referencing/dagre/sketch.exp.svg | 162 ++++----- .../themes/origami/dagre/board.exp.json | 96 +++--- .../themes/origami/dagre/sketch.exp.svg | 184 +++++----- .../themes/terminal/dagre/board.exp.json | 128 +++---- .../themes/terminal/dagre/sketch.exp.svg | 206 +++++------ .../terminal_grayscale/dagre/board.exp.json | 108 +++--- .../terminal_grayscale/dagre/sketch.exp.svg | 176 +++++----- 31 files changed, 2484 insertions(+), 1597 deletions(-) create mode 100644 e2etests/testdata/stable/edge-label-overflow/dagre/board.exp.json create mode 100644 e2etests/testdata/stable/edge-label-overflow/dagre/sketch.exp.svg create mode 100644 e2etests/testdata/stable/edge-label-overflow/elk/board.exp.json create mode 100644 e2etests/testdata/stable/edge-label-overflow/elk/sketch.exp.svg diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md index fdef15d98..4c987851e 100644 --- a/ci/release/changelogs/next.md +++ b/ci/release/changelogs/next.md @@ -4,6 +4,8 @@ #### Improvements 🧹 +- Labels on parallel `dagre` connections include a gap between them [#1134](https://github.com/terrastruct/d2/pull/1134) + #### Bugfixes ⛑️ - Fix a bug in 32bit builds [#1115](https://github.com/terrastruct/d2/issues/1115) diff --git a/d2layouts/d2dagrelayout/layout.go b/d2layouts/d2dagrelayout/layout.go index dec8c164e..afa676dc0 100644 --- a/d2layouts/d2dagrelayout/layout.go +++ b/d2layouts/d2dagrelayout/layout.go @@ -33,6 +33,7 @@ var dagreJS string const ( MIN_SEGMENT_LEN = 10 MIN_RANK_SEP = 60 + EDGE_LABEL_GAP = 20 ) type ConfigurableOpts struct { @@ -173,37 +174,30 @@ func Layout(ctx context.Context, g *d2graph.Graph, opts *ConfigurableOpts) (err } } for _, edge := range g.Edges { - // dagre doesn't work with edges to containers so we connect container edges to their first child instead (going all the way down) - // we will chop the edge where it intersects the container border so it only shows the edge from the container - src := edge.Src - for len(src.Children) > 0 && src.Class == nil && src.SQLTable == nil { - // We want to get the bottom node of sources, setting its rank higher than all children - src = getLongestEdgeChainTail(g, src) - } - dst := edge.Dst - for len(dst.Children) > 0 && dst.Class == nil && dst.SQLTable == nil { - dst = dst.ChildrenArray[0] + src, dst := getEdgeEndpoints(g, edge) - // We want to get the top node of destinations - for _, child := range dst.ChildrenArray { - isHead := true - for _, e := range g.Edges { - if inContainer(e.Src, child) != nil && inContainer(e.Dst, dst) != nil { - isHead = false - break - } - } - if isHead { - dst = child - break - } + width := edge.LabelDimensions.Width + height := edge.LabelDimensions.Height + + numEdges := 0 + for _, e := range g.Edges { + otherSrc, otherDst := getEdgeEndpoints(g, e) + if (otherSrc == src && otherDst == dst) || (otherSrc == dst && otherDst == src) { + numEdges++ } } - if edge.SrcArrow && !edge.DstArrow { - // for `b <- a`, edge.Edge is `a -> b` and we expect this routing result - src, dst = dst, src + + // We want to leave some gap between multiple edges + if numEdges > 1 { + switch g.Root.Attributes.Direction.Value { + case "down", "up", "": + width += EDGE_LABEL_GAP + case "left", "right": + height += EDGE_LABEL_GAP + } } - loadScript += generateAddEdgeLine(src.AbsID(), dst.AbsID(), edge.AbsID(), edge.LabelDimensions.Width, edge.LabelDimensions.Height) + + loadScript += generateAddEdgeLine(src.AbsID(), dst.AbsID(), edge.AbsID(), width, height) } if debugJS { @@ -528,6 +522,40 @@ func Layout(ctx context.Context, g *d2graph.Graph, opts *ConfigurableOpts) (err return nil } +func getEdgeEndpoints(g *d2graph.Graph, edge *d2graph.Edge) (*d2graph.Object, *d2graph.Object) { + // dagre doesn't work with edges to containers so we connect container edges to their first child instead (going all the way down) + // we will chop the edge where it intersects the container border so it only shows the edge from the container + src := edge.Src + for len(src.Children) > 0 && src.Class == nil && src.SQLTable == nil { + // We want to get the bottom node of sources, setting its rank higher than all children + src = getLongestEdgeChainTail(g, src) + } + dst := edge.Dst + for len(dst.Children) > 0 && dst.Class == nil && dst.SQLTable == nil { + dst = dst.ChildrenArray[0] + + // We want to get the top node of destinations + for _, child := range dst.ChildrenArray { + isHead := true + for _, e := range g.Edges { + if inContainer(e.Src, child) != nil && inContainer(e.Dst, dst) != nil { + isHead = false + break + } + } + if isHead { + dst = child + break + } + } + } + if edge.SrcArrow && !edge.DstArrow { + // for `b <- a`, edge.Edge is `a -> b` and we expect this routing result + src, dst = dst, src + } + return src, dst +} + func setGraphAttrs(attrs dagreOpts) string { return fmt.Sprintf(`g.setGraph({ ranksep: %d, diff --git a/d2renderers/d2sketch/testdata/dots-real/sketch.exp.svg b/d2renderers/d2sketch/testdata/dots-real/sketch.exp.svg index c75d9d004..2433dad67 100644 --- a/d2renderers/d2sketch/testdata/dots-real/sketch.exp.svg +++ b/d2renderers/d2sketch/testdata/dots-real/sketch.exp.svg @@ -1,16 +1,16 @@ - + .d2-1107823994 .fill-N1{fill:#0A0F25;} + .d2-1107823994 .fill-N2{fill:#676C7E;} + .d2-1107823994 .fill-N3{fill:#9499AB;} + .d2-1107823994 .fill-N4{fill:#CFD2DD;} + .d2-1107823994 .fill-N5{fill:#DEE1EB;} + .d2-1107823994 .fill-N6{fill:#EEF1F8;} + .d2-1107823994 .fill-N7{fill:#FFFFFF;} + .d2-1107823994 .fill-B1{fill:#0D32B2;} + .d2-1107823994 .fill-B2{fill:#0D32B2;} + .d2-1107823994 .fill-B3{fill:#E3E9FD;} + .d2-1107823994 .fill-B4{fill:#E3E9FD;} + .d2-1107823994 .fill-B5{fill:#EDF0FD;} + .d2-1107823994 .fill-B6{fill:#F7F8FE;} + .d2-1107823994 .fill-AA2{fill:#4A6FF3;} + .d2-1107823994 .fill-AA4{fill:#EDF0FD;} + .d2-1107823994 .fill-AA5{fill:#F7F8FE;} + .d2-1107823994 .fill-AB4{fill:#EDF0FD;} + .d2-1107823994 .fill-AB5{fill:#F7F8FE;} + .d2-1107823994 .stroke-N1{stroke:#0A0F25;} + .d2-1107823994 .stroke-N2{stroke:#676C7E;} + .d2-1107823994 .stroke-N3{stroke:#9499AB;} + .d2-1107823994 .stroke-N4{stroke:#CFD2DD;} + .d2-1107823994 .stroke-N5{stroke:#DEE1EB;} + .d2-1107823994 .stroke-N6{stroke:#EEF1F8;} + .d2-1107823994 .stroke-N7{stroke:#FFFFFF;} + .d2-1107823994 .stroke-B1{stroke:#0D32B2;} + .d2-1107823994 .stroke-B2{stroke:#0D32B2;} + .d2-1107823994 .stroke-B3{stroke:#E3E9FD;} + .d2-1107823994 .stroke-B4{stroke:#E3E9FD;} + .d2-1107823994 .stroke-B5{stroke:#EDF0FD;} + .d2-1107823994 .stroke-B6{stroke:#F7F8FE;} + .d2-1107823994 .stroke-AA2{stroke:#4A6FF3;} + .d2-1107823994 .stroke-AA4{stroke:#EDF0FD;} + .d2-1107823994 .stroke-AA5{stroke:#F7F8FE;} + .d2-1107823994 .stroke-AB4{stroke:#EDF0FD;} + .d2-1107823994 .stroke-AB5{stroke:#F7F8FE;} + .d2-1107823994 .background-color-N1{background-color:#0A0F25;} + .d2-1107823994 .background-color-N2{background-color:#676C7E;} + .d2-1107823994 .background-color-N3{background-color:#9499AB;} + .d2-1107823994 .background-color-N4{background-color:#CFD2DD;} + .d2-1107823994 .background-color-N5{background-color:#DEE1EB;} + .d2-1107823994 .background-color-N6{background-color:#EEF1F8;} + .d2-1107823994 .background-color-N7{background-color:#FFFFFF;} + .d2-1107823994 .background-color-B1{background-color:#0D32B2;} + .d2-1107823994 .background-color-B2{background-color:#0D32B2;} + .d2-1107823994 .background-color-B3{background-color:#E3E9FD;} + .d2-1107823994 .background-color-B4{background-color:#E3E9FD;} + .d2-1107823994 .background-color-B5{background-color:#EDF0FD;} + .d2-1107823994 .background-color-B6{background-color:#F7F8FE;} + .d2-1107823994 .background-color-AA2{background-color:#4A6FF3;} + .d2-1107823994 .background-color-AA4{background-color:#EDF0FD;} + .d2-1107823994 .background-color-AA5{background-color:#F7F8FE;} + .d2-1107823994 .background-color-AB4{background-color:#EDF0FD;} + .d2-1107823994 .background-color-AB5{background-color:#F7F8FE;} + .d2-1107823994 .color-N1{color:#0A0F25;} + .d2-1107823994 .color-N2{color:#676C7E;} + .d2-1107823994 .color-N3{color:#9499AB;} + .d2-1107823994 .color-N4{color:#CFD2DD;} + .d2-1107823994 .color-N5{color:#DEE1EB;} + .d2-1107823994 .color-N6{color:#EEF1F8;} + .d2-1107823994 .color-N7{color:#FFFFFF;} + .d2-1107823994 .color-B1{color:#0D32B2;} + .d2-1107823994 .color-B2{color:#0D32B2;} + .d2-1107823994 .color-B3{color:#E3E9FD;} + .d2-1107823994 .color-B4{color:#E3E9FD;} + .d2-1107823994 .color-B5{color:#EDF0FD;} + .d2-1107823994 .color-B6{color:#F7F8FE;} + .d2-1107823994 .color-AA2{color:#4A6FF3;} + .d2-1107823994 .color-AA4{color:#EDF0FD;} + .d2-1107823994 .color-AA5{color:#F7F8FE;} + .d2-1107823994 .color-AB4{color:#EDF0FD;} + .d2-1107823994 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> @@ -159,9 +159,9 @@ -NETWORKD2 Parser+readerio.RuneReader+readerPosd2ast.Position-lookahead[]rune#peekn(n int)(s string, eof bool)+peek()(r rune, eof bool)+rewind()void+commit()voidCELL TOWERSATELLITESTRANSMITTER SEND SEND SEND - - - - +NETWORKD2 Parser+readerio.RuneReader+readerPosd2ast.Position-lookahead[]rune#peekn(n int)(s string, eof bool)+peek()(r rune, eof bool)+rewind()void+commit()voidCELL TOWERSATELLITESTRANSMITTER SEND SEND SEND + + + + \ No newline at end of file diff --git a/d2renderers/d2sketch/testdata/paper-real/sketch.exp.svg b/d2renderers/d2sketch/testdata/paper-real/sketch.exp.svg index c61df223a..b213a3400 100644 --- a/d2renderers/d2sketch/testdata/paper-real/sketch.exp.svg +++ b/d2renderers/d2sketch/testdata/paper-real/sketch.exp.svg @@ -1,16 +1,16 @@ - + .d2-3084549463 .fill-N1{fill:#0A0F25;} + .d2-3084549463 .fill-N2{fill:#676C7E;} + .d2-3084549463 .fill-N3{fill:#9499AB;} + .d2-3084549463 .fill-N4{fill:#CFD2DD;} + .d2-3084549463 .fill-N5{fill:#DEE1EB;} + .d2-3084549463 .fill-N6{fill:#EEF1F8;} + .d2-3084549463 .fill-N7{fill:#FFFFFF;} + .d2-3084549463 .fill-B1{fill:#0D32B2;} + .d2-3084549463 .fill-B2{fill:#0D32B2;} + .d2-3084549463 .fill-B3{fill:#E3E9FD;} + .d2-3084549463 .fill-B4{fill:#E3E9FD;} + .d2-3084549463 .fill-B5{fill:#EDF0FD;} + .d2-3084549463 .fill-B6{fill:#F7F8FE;} + .d2-3084549463 .fill-AA2{fill:#4A6FF3;} + .d2-3084549463 .fill-AA4{fill:#EDF0FD;} + .d2-3084549463 .fill-AA5{fill:#F7F8FE;} + .d2-3084549463 .fill-AB4{fill:#EDF0FD;} + .d2-3084549463 .fill-AB5{fill:#F7F8FE;} + .d2-3084549463 .stroke-N1{stroke:#0A0F25;} + .d2-3084549463 .stroke-N2{stroke:#676C7E;} + .d2-3084549463 .stroke-N3{stroke:#9499AB;} + .d2-3084549463 .stroke-N4{stroke:#CFD2DD;} + .d2-3084549463 .stroke-N5{stroke:#DEE1EB;} + .d2-3084549463 .stroke-N6{stroke:#EEF1F8;} + .d2-3084549463 .stroke-N7{stroke:#FFFFFF;} + .d2-3084549463 .stroke-B1{stroke:#0D32B2;} + .d2-3084549463 .stroke-B2{stroke:#0D32B2;} + .d2-3084549463 .stroke-B3{stroke:#E3E9FD;} + .d2-3084549463 .stroke-B4{stroke:#E3E9FD;} + .d2-3084549463 .stroke-B5{stroke:#EDF0FD;} + .d2-3084549463 .stroke-B6{stroke:#F7F8FE;} + .d2-3084549463 .stroke-AA2{stroke:#4A6FF3;} + .d2-3084549463 .stroke-AA4{stroke:#EDF0FD;} + .d2-3084549463 .stroke-AA5{stroke:#F7F8FE;} + .d2-3084549463 .stroke-AB4{stroke:#EDF0FD;} + .d2-3084549463 .stroke-AB5{stroke:#F7F8FE;} + .d2-3084549463 .background-color-N1{background-color:#0A0F25;} + .d2-3084549463 .background-color-N2{background-color:#676C7E;} + .d2-3084549463 .background-color-N3{background-color:#9499AB;} + .d2-3084549463 .background-color-N4{background-color:#CFD2DD;} + .d2-3084549463 .background-color-N5{background-color:#DEE1EB;} + .d2-3084549463 .background-color-N6{background-color:#EEF1F8;} + .d2-3084549463 .background-color-N7{background-color:#FFFFFF;} + .d2-3084549463 .background-color-B1{background-color:#0D32B2;} + .d2-3084549463 .background-color-B2{background-color:#0D32B2;} + .d2-3084549463 .background-color-B3{background-color:#E3E9FD;} + .d2-3084549463 .background-color-B4{background-color:#E3E9FD;} + .d2-3084549463 .background-color-B5{background-color:#EDF0FD;} + .d2-3084549463 .background-color-B6{background-color:#F7F8FE;} + .d2-3084549463 .background-color-AA2{background-color:#4A6FF3;} + .d2-3084549463 .background-color-AA4{background-color:#EDF0FD;} + .d2-3084549463 .background-color-AA5{background-color:#F7F8FE;} + .d2-3084549463 .background-color-AB4{background-color:#EDF0FD;} + .d2-3084549463 .background-color-AB5{background-color:#F7F8FE;} + .d2-3084549463 .color-N1{color:#0A0F25;} + .d2-3084549463 .color-N2{color:#676C7E;} + .d2-3084549463 .color-N3{color:#9499AB;} + .d2-3084549463 .color-N4{color:#CFD2DD;} + .d2-3084549463 .color-N5{color:#DEE1EB;} + .d2-3084549463 .color-N6{color:#EEF1F8;} + .d2-3084549463 .color-N7{color:#FFFFFF;} + .d2-3084549463 .color-B1{color:#0D32B2;} + .d2-3084549463 .color-B2{color:#0D32B2;} + .d2-3084549463 .color-B3{color:#E3E9FD;} + .d2-3084549463 .color-B4{color:#E3E9FD;} + .d2-3084549463 .color-B5{color:#EDF0FD;} + .d2-3084549463 .color-B6{color:#F7F8FE;} + .d2-3084549463 .color-AA2{color:#4A6FF3;} + .d2-3084549463 .color-AA4{color:#EDF0FD;} + .d2-3084549463 .color-AA5{color:#F7F8FE;} + .d2-3084549463 .color-AB4{color:#EDF0FD;} + .d2-3084549463 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> @@ -1205,9 +1205,9 @@ -NETWORKCELL TOWERSATELLITESTRANSMITTER SEND SEND SEND - - - - +NETWORKCELL TOWERSATELLITESTRANSMITTER SEND SEND SEND + + + + \ No newline at end of file diff --git a/d2renderers/d2sketch/testdata/terminal/sketch.exp.svg b/d2renderers/d2sketch/testdata/terminal/sketch.exp.svg index 167aac474..4459c8a37 100644 --- a/d2renderers/d2sketch/testdata/terminal/sketch.exp.svg +++ b/d2renderers/d2sketch/testdata/terminal/sketch.exp.svg @@ -1,16 +1,16 @@ - + .d2-457017616 .fill-N1{fill:#000410;} + .d2-457017616 .fill-N2{fill:#0000B8;} + .d2-457017616 .fill-N3{fill:#9499AB;} + .d2-457017616 .fill-N4{fill:#CFD2DD;} + .d2-457017616 .fill-N5{fill:#C3DEF3;} + .d2-457017616 .fill-N6{fill:#EEF1F8;} + .d2-457017616 .fill-N7{fill:#FFFFFF;} + .d2-457017616 .fill-B1{fill:#000410;} + .d2-457017616 .fill-B2{fill:#0000E4;} + .d2-457017616 .fill-B3{fill:#5AA4DC;} + .d2-457017616 .fill-B4{fill:#E7E9EE;} + .d2-457017616 .fill-B5{fill:#F5F6F9;} + .d2-457017616 .fill-B6{fill:#FFFFFF;} + .d2-457017616 .fill-AA2{fill:#008566;} + .d2-457017616 .fill-AA4{fill:#45BBA5;} + .d2-457017616 .fill-AA5{fill:#7ACCBD;} + .d2-457017616 .fill-AB4{fill:#F1C759;} + .d2-457017616 .fill-AB5{fill:#F9E088;} + .d2-457017616 .stroke-N1{stroke:#000410;} + .d2-457017616 .stroke-N2{stroke:#0000B8;} + .d2-457017616 .stroke-N3{stroke:#9499AB;} + .d2-457017616 .stroke-N4{stroke:#CFD2DD;} + .d2-457017616 .stroke-N5{stroke:#C3DEF3;} + .d2-457017616 .stroke-N6{stroke:#EEF1F8;} + .d2-457017616 .stroke-N7{stroke:#FFFFFF;} + .d2-457017616 .stroke-B1{stroke:#000410;} + .d2-457017616 .stroke-B2{stroke:#0000E4;} + .d2-457017616 .stroke-B3{stroke:#5AA4DC;} + .d2-457017616 .stroke-B4{stroke:#E7E9EE;} + .d2-457017616 .stroke-B5{stroke:#F5F6F9;} + .d2-457017616 .stroke-B6{stroke:#FFFFFF;} + .d2-457017616 .stroke-AA2{stroke:#008566;} + .d2-457017616 .stroke-AA4{stroke:#45BBA5;} + .d2-457017616 .stroke-AA5{stroke:#7ACCBD;} + .d2-457017616 .stroke-AB4{stroke:#F1C759;} + .d2-457017616 .stroke-AB5{stroke:#F9E088;} + .d2-457017616 .background-color-N1{background-color:#000410;} + .d2-457017616 .background-color-N2{background-color:#0000B8;} + .d2-457017616 .background-color-N3{background-color:#9499AB;} + .d2-457017616 .background-color-N4{background-color:#CFD2DD;} + .d2-457017616 .background-color-N5{background-color:#C3DEF3;} + .d2-457017616 .background-color-N6{background-color:#EEF1F8;} + .d2-457017616 .background-color-N7{background-color:#FFFFFF;} + .d2-457017616 .background-color-B1{background-color:#000410;} + .d2-457017616 .background-color-B2{background-color:#0000E4;} + .d2-457017616 .background-color-B3{background-color:#5AA4DC;} + .d2-457017616 .background-color-B4{background-color:#E7E9EE;} + .d2-457017616 .background-color-B5{background-color:#F5F6F9;} + .d2-457017616 .background-color-B6{background-color:#FFFFFF;} + .d2-457017616 .background-color-AA2{background-color:#008566;} + .d2-457017616 .background-color-AA4{background-color:#45BBA5;} + .d2-457017616 .background-color-AA5{background-color:#7ACCBD;} + .d2-457017616 .background-color-AB4{background-color:#F1C759;} + .d2-457017616 .background-color-AB5{background-color:#F9E088;} + .d2-457017616 .color-N1{color:#000410;} + .d2-457017616 .color-N2{color:#0000B8;} + .d2-457017616 .color-N3{color:#9499AB;} + .d2-457017616 .color-N4{color:#CFD2DD;} + .d2-457017616 .color-N5{color:#C3DEF3;} + .d2-457017616 .color-N6{color:#EEF1F8;} + .d2-457017616 .color-N7{color:#FFFFFF;} + .d2-457017616 .color-B1{color:#000410;} + .d2-457017616 .color-B2{color:#0000E4;} + .d2-457017616 .color-B3{color:#5AA4DC;} + .d2-457017616 .color-B4{color:#E7E9EE;} + .d2-457017616 .color-B5{color:#F5F6F9;} + .d2-457017616 .color-B6{color:#FFFFFF;} + .d2-457017616 .color-AA2{color:#008566;} + .d2-457017616 .color-AA4{color:#45BBA5;} + .d2-457017616 .color-AA5{color:#7ACCBD;} + .d2-457017616 .color-AB4{color:#F1C759;} + .d2-457017616 .color-AB5{color:#F9E088;}.appendix text.text{fill:#000410}.md{--color-fg-default:#000410;--color-fg-muted:#0000B8;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#000410;--color-border-muted:#0000E4;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0000E4;--color-accent-emphasis:#0000E4;--color-attention-subtle:#0000B8;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AB4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> @@ -137,14 +137,14 @@ -NETWORKUSERAPI SERVERLOGSCELL TOWERONLINE PORTALDATA PROCESSORSATELLITESTRANSMITTERUISTORAGE SEND SEND SEND PHONE LOGS MAKE CALL ACCESS DISPLAY PERSIST - - - - - - +NETWORKUSERAPI SERVERLOGSCELL TOWERONLINE PORTALDATA PROCESSORSATELLITESTRANSMITTERUISTORAGE SEND SEND SEND PHONE LOGS MAKE CALL ACCESS DISPLAY PERSIST + + + + + + - - + + \ No newline at end of file diff --git a/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf b/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf index 463c4cc7a850319782fab64d0a0a7e65fab8a7a9..23628020db9dbd4c1b99f85e76f13e62381db091 100644 GIT binary patch delta 20342 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 delta 20244 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%0AK9~P z=^yIfpYX-ee-AayZ;I5t+`Ujj8z=^5!pW~{`Pp+hy6y2?$3-DMc1$p1SRsD3t~!K0 z?JNM2i^u@b;AZ#i>c5qSULT!1BA%4LWD6{=C~JaK9_U!t$H+vY|Ucl`rkm-WHrt2SihuDm44S zobUr*%3!Hq<5ys?$LH!`5l5D@NYu3G{g!qwN={mo1eplZ8)2_ZF{2h)Jd(& zrlO&ZAwNH%WaUJGsM0fL{+F-EK6Q_CW%|%jVo{T~ME4hh4o~*_ zXWRH?654=R^y12F*Vp4jfG0aa>yA}daL*{P^J?{`EgTf0H<~*7XHB141sCFZ5<>dY z#(t}3qScB;#hSLKa#aE+H(~DUPLC;^DLm0a+jpr0;I-toqYXTlGi^PxlYg(6z*ZyG zura;vy2CAH!)gho#Eb5RzT29ILP*{5y$ybiuM$;{)J014<=7?zqTeKIi}w?{8hrk6 zvQJc?ITT-XKV?{WytyUGdUx&p{i?RfPd25+gF;x>oLI6Sp;iNM>j1yGaFI((Qr*$= zE78m5VZ*4n|Kg(}C$Ts3pGT?H3HOj)wiBCsk;y9K@5+8N$fb+$dBOXzv*^l<^;+MGSPUS_y-e(V`N#9^34HzY+I8glMGSW)vYIJ47kq9>nVE%}xP44F>bC}NLRQA28ThQ$P^TU?14sNP_76ZnS#Z8xRMo-2t~N!X;1?W zzMu_9<3XSs5)Ojg$ryLM8wx?exq6_mWLG@W)g6zb;1rRlb&a(q4Si@n7tdTEGfL19 zn|%l*9D&6k4?#6g`cRC>zV3<#jSeH>NE93m|1M)_VjxMfSVj2Sq3Ep$UBAHMw6u_n zZVcoI0kr)O5gd+3p*PkcPXyaY_p!L%?qoA<^(3%p%cP(D8pZh19}g8JTM) zerOS`1;=fKqp@hr#yYSQD8|&9i67t?Exgtba6IA%N3_5gGW4+!8TXBFBn}*%4JJ@v ocs4qsg@NNXn#JPq*o{HJ;^8 api server `, }, + { + name: "edge-label-overflow", + script: `student -> committee chair: Apply for appeal +student <- committee chair: Deny. Need more information +committee chair -> committee: Accept appeal`, + }, { name: "mono-edge", script: `direction: right diff --git a/e2etests/testdata/patterns/real-lines/dagre/board.exp.json b/e2etests/testdata/patterns/real-lines/dagre/board.exp.json index 82f61f9b5..40986c0a6 100644 --- a/e2etests/testdata/patterns/real-lines/dagre/board.exp.json +++ b/e2etests/testdata/patterns/real-lines/dagre/board.exp.json @@ -10,7 +10,7 @@ "x": 0, "y": 41 }, - "width": 334, + "width": 360, "height": 640, "opacity": 1, "strokeDash": 0, @@ -52,7 +52,7 @@ "x": 20, "y": 106 }, - "width": 294, + "width": 320, "height": 545, "opacity": 1, "strokeDash": 0, @@ -91,7 +91,7 @@ "id": "NETWORK.CELL TOWER.satellites", "type": "stored_data", "pos": { - "x": 87, + "x": 100, "y": 195 }, "width": 161, @@ -132,7 +132,7 @@ "id": "NETWORK.CELL TOWER.transmitter", "type": "rectangle", "pos": { - "x": 92, + "x": 105, "y": 496 }, "width": 151, @@ -173,7 +173,7 @@ "id": "costumes", "type": "sql_table", "pos": { - "x": 374, + "x": 401, "y": 100 }, "width": 311, @@ -330,7 +330,7 @@ "id": "monsters", "type": "sql_table", "pos": { - "x": 374, + "x": 401, "y": 401 }, "width": 311, @@ -512,19 +512,19 @@ "labelPercentage": 0, "route": [ { - "x": 151, + "x": 163, "y": 262 }, { - "x": 108, + "x": 114.4, "y": 355.6 }, { - "x": 108.05, + "x": 114.45, "y": 402.6 }, { - "x": 151.25, + "x": 163.25, "y": 497 } ], @@ -561,19 +561,19 @@ "labelPercentage": 0, "route": [ { - "x": 167, + "x": 180, "y": 262 }, { - "x": 167, + "x": 180.2, "y": 355.6 }, { - "x": 167, + "x": 180.25, "y": 402.6 }, { - "x": 167, + "x": 180.25, "y": 497 } ], @@ -610,19 +610,19 @@ "labelPercentage": 0, "route": [ { - "x": 183, + "x": 198, "y": 262 }, { - "x": 226, + "x": 246.2, "y": 355.6 }, { - "x": 225.95, + "x": 246.05, "y": 402.6 }, { - "x": 182.75, + "x": 197.25, "y": 497 } ], @@ -659,19 +659,19 @@ "labelPercentage": 0, "route": [ { - "x": 529.5, + "x": 556, "y": 280 }, { - "x": 529.5, + "x": 556, "y": 328.4 }, { - "x": 529.5, + "x": 556, "y": 352.7 }, { - "x": 529.5, + "x": 556, "y": 401.5 } ], diff --git a/e2etests/testdata/patterns/real-lines/dagre/sketch.exp.svg b/e2etests/testdata/patterns/real-lines/dagre/sketch.exp.svg index 6508e7c12..2ca214a94 100644 --- a/e2etests/testdata/patterns/real-lines/dagre/sketch.exp.svg +++ b/e2etests/testdata/patterns/real-lines/dagre/sketch.exp.svg @@ -1,23 +1,23 @@ -Kubernetesopensvck8s-master1k8s-master2k8s-master3k8s-worker1k8s-worker2k8s-worker3VM1VM2 keycloakheptapodharborvault - - - - - + .d2-3464567729 .fill-N1{fill:#0A0F25;} + .d2-3464567729 .fill-N2{fill:#676C7E;} + .d2-3464567729 .fill-N3{fill:#9499AB;} + .d2-3464567729 .fill-N4{fill:#CFD2DD;} + .d2-3464567729 .fill-N5{fill:#DEE1EB;} + .d2-3464567729 .fill-N6{fill:#EEF1F8;} + .d2-3464567729 .fill-N7{fill:#FFFFFF;} + .d2-3464567729 .fill-B1{fill:#0D32B2;} + .d2-3464567729 .fill-B2{fill:#0D32B2;} + .d2-3464567729 .fill-B3{fill:#E3E9FD;} + .d2-3464567729 .fill-B4{fill:#E3E9FD;} + .d2-3464567729 .fill-B5{fill:#EDF0FD;} + .d2-3464567729 .fill-B6{fill:#F7F8FE;} + .d2-3464567729 .fill-AA2{fill:#4A6FF3;} + .d2-3464567729 .fill-AA4{fill:#EDF0FD;} + .d2-3464567729 .fill-AA5{fill:#F7F8FE;} + .d2-3464567729 .fill-AB4{fill:#EDF0FD;} + .d2-3464567729 .fill-AB5{fill:#F7F8FE;} + .d2-3464567729 .stroke-N1{stroke:#0A0F25;} + .d2-3464567729 .stroke-N2{stroke:#676C7E;} + .d2-3464567729 .stroke-N3{stroke:#9499AB;} + .d2-3464567729 .stroke-N4{stroke:#CFD2DD;} + .d2-3464567729 .stroke-N5{stroke:#DEE1EB;} + .d2-3464567729 .stroke-N6{stroke:#EEF1F8;} + .d2-3464567729 .stroke-N7{stroke:#FFFFFF;} + .d2-3464567729 .stroke-B1{stroke:#0D32B2;} + .d2-3464567729 .stroke-B2{stroke:#0D32B2;} + .d2-3464567729 .stroke-B3{stroke:#E3E9FD;} + .d2-3464567729 .stroke-B4{stroke:#E3E9FD;} + .d2-3464567729 .stroke-B5{stroke:#EDF0FD;} + .d2-3464567729 .stroke-B6{stroke:#F7F8FE;} + .d2-3464567729 .stroke-AA2{stroke:#4A6FF3;} + .d2-3464567729 .stroke-AA4{stroke:#EDF0FD;} + .d2-3464567729 .stroke-AA5{stroke:#F7F8FE;} + .d2-3464567729 .stroke-AB4{stroke:#EDF0FD;} + .d2-3464567729 .stroke-AB5{stroke:#F7F8FE;} + .d2-3464567729 .background-color-N1{background-color:#0A0F25;} + .d2-3464567729 .background-color-N2{background-color:#676C7E;} + .d2-3464567729 .background-color-N3{background-color:#9499AB;} + .d2-3464567729 .background-color-N4{background-color:#CFD2DD;} + .d2-3464567729 .background-color-N5{background-color:#DEE1EB;} + .d2-3464567729 .background-color-N6{background-color:#EEF1F8;} + .d2-3464567729 .background-color-N7{background-color:#FFFFFF;} + .d2-3464567729 .background-color-B1{background-color:#0D32B2;} + .d2-3464567729 .background-color-B2{background-color:#0D32B2;} + .d2-3464567729 .background-color-B3{background-color:#E3E9FD;} + .d2-3464567729 .background-color-B4{background-color:#E3E9FD;} + .d2-3464567729 .background-color-B5{background-color:#EDF0FD;} + .d2-3464567729 .background-color-B6{background-color:#F7F8FE;} + .d2-3464567729 .background-color-AA2{background-color:#4A6FF3;} + .d2-3464567729 .background-color-AA4{background-color:#EDF0FD;} + .d2-3464567729 .background-color-AA5{background-color:#F7F8FE;} + .d2-3464567729 .background-color-AB4{background-color:#EDF0FD;} + .d2-3464567729 .background-color-AB5{background-color:#F7F8FE;} + .d2-3464567729 .color-N1{color:#0A0F25;} + .d2-3464567729 .color-N2{color:#676C7E;} + .d2-3464567729 .color-N3{color:#9499AB;} + .d2-3464567729 .color-N4{color:#CFD2DD;} + .d2-3464567729 .color-N5{color:#DEE1EB;} + .d2-3464567729 .color-N6{color:#EEF1F8;} + .d2-3464567729 .color-N7{color:#FFFFFF;} + .d2-3464567729 .color-B1{color:#0D32B2;} + .d2-3464567729 .color-B2{color:#0D32B2;} + .d2-3464567729 .color-B3{color:#E3E9FD;} + .d2-3464567729 .color-B4{color:#E3E9FD;} + .d2-3464567729 .color-B5{color:#EDF0FD;} + .d2-3464567729 .color-B6{color:#F7F8FE;} + .d2-3464567729 .color-AA2{color:#4A6FF3;} + .d2-3464567729 .color-AA4{color:#EDF0FD;} + .d2-3464567729 .color-AA5{color:#F7F8FE;} + .d2-3464567729 .color-AB4{color:#EDF0FD;} + .d2-3464567729 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]>Kubernetesopensvck8s-master1k8s-master2k8s-master3k8s-worker1k8s-worker2k8s-worker3VM1VM2 keycloakheptapodharborvault + + + + + \ No newline at end of file diff --git a/e2etests/testdata/stable/chaos2/dagre/board.exp.json b/e2etests/testdata/stable/chaos2/dagre/board.exp.json index 1fb61555f..216ed84ab 100644 --- a/e2etests/testdata/stable/chaos2/dagre/board.exp.json +++ b/e2etests/testdata/stable/chaos2/dagre/board.exp.json @@ -10,7 +10,7 @@ "x": 0, "y": 41 }, - "width": 806, + "width": 834, "height": 1314, "opacity": 1, "strokeDash": 0, @@ -51,7 +51,7 @@ "x": 20, "y": 106 }, - "width": 567, + "width": 595, "height": 1219, "opacity": 1, "strokeDash": 0, @@ -92,7 +92,7 @@ "x": 40, "y": 721 }, - "width": 393, + "width": 421, "height": 572, "opacity": 1, "strokeDash": 0, @@ -252,7 +252,7 @@ "id": "aa.bb.cc.gg", "type": "text", "pos": { - "x": 190, + "x": 187, "y": 1043 }, "width": 17, @@ -292,7 +292,7 @@ "id": "aa.bb.cc.hh", "type": "rectangle", "pos": { - "x": 324, + "x": 334, "y": 1189 }, "width": 63, @@ -336,7 +336,7 @@ "x": 52, "y": 169 }, - "width": 469, + "width": 496, "height": 161, "opacity": 1, "strokeDash": 0, @@ -374,7 +374,7 @@ "id": "aa.bb.ii.jj", "type": "diamond", "pos": { - "x": 431, + "x": 458, "y": 204 }, "width": 50, @@ -415,7 +415,7 @@ "id": "aa.bb.kk", "type": "oval", "pos": { - "x": 474, + "x": 501, "y": 1169 }, "width": 74, @@ -456,7 +456,7 @@ "id": "aa.ll", "type": "rectangle", "pos": { - "x": 670, + "x": 698, "y": 772 }, "width": 54, @@ -497,7 +497,7 @@ "id": "aa.mm", "type": "cylinder", "pos": { - "x": 662, + "x": 689, "y": 433 }, "width": 71, @@ -538,7 +538,7 @@ "id": "aa.nn", "type": "text", "pos": { - "x": 628, + "x": 655, "y": 1178 }, "width": 16, @@ -578,7 +578,7 @@ "id": "aa.oo", "type": "rectangle", "pos": { - "x": 704, + "x": 731, "y": 1155 }, "width": 63, @@ -652,12 +652,12 @@ "y": 910.3 }, { - "x": 132.35, - "y": 995.1959501557633 + "x": 131.8, + "y": 995.1 }, { - "x": 189.75, - "y": 1045.9797507788162 + "x": 187, + "y": 1045.5 } ], "isCurve": true, @@ -693,20 +693,20 @@ "labelPercentage": 0, "route": [ { - "x": 198.25, + "x": 195.5, "y": 1064 }, { - "x": 198.25, + "x": 195.5, "y": 1112.4 }, { - "x": 223.45, - "y": 1140.1 + "x": 223.3, + "y": 1140.3 }, { - "x": 324.25, - "y": 1202.5 + "x": 334.5, + "y": 1203.5 } ], "isCurve": true, @@ -815,12 +815,12 @@ "labelPercentage": 0, "route": [ { - "x": 670.25, - "y": 811.7993675333802 + "x": 697.5, + "y": 811.4285714285714 }, { - "x": 587.25, - "y": 866.7993675333802 + "x": 614.5, + "y": 865.4285714285714 } ], "animated": false, @@ -855,12 +855,12 @@ "labelPercentage": 0, "route": [ { - "x": 662, - "y": 501 + "x": 689, + "y": 500 }, { - "x": 284.79999999999995, - "y": 589.8 + "x": 290.2, + "y": 589.6 }, { "x": 190.5, @@ -904,31 +904,31 @@ "labelPercentage": 0, "route": [ { - "x": 697, + "x": 725, "y": 552 }, { - "x": 697.2, + "x": 724.6, "y": 600 }, { - "x": 697.25, + "x": 724.5, "y": 624.1 }, { - "x": 697.25, + "x": 724.5, "y": 642.25 }, { - "x": 697.25, + "x": 724.5, "y": 660.4 }, { - "x": 697.25, + "x": 724.5, "y": 732.5 }, { - "x": 697.25, + "x": 724.5, "y": 772.5 } ], @@ -965,12 +965,12 @@ "labelPercentage": 0, "route": [ { - "x": 662, + "x": 689, "y": 505 }, { - "x": 587.75, - "y": 568.4633307868602 + "x": 615, + "y": 566.9955817378498 } ], "animated": false, @@ -1005,19 +1005,19 @@ "labelPercentage": 0, "route": [ { - "x": 670.25, - "y": 811.1842105263158 + "x": 697.5, + "y": 810.8167259786477 }, { - "x": 376.45, - "y": 873.0368421052632 + "x": 381.9, + "y": 872.9633451957295 }, { - "x": 283.8, + "x": 283.2, "y": 968.7 }, { - "x": 207, + "x": 204, "y": 1047.5 } ], @@ -1054,19 +1054,19 @@ "labelPercentage": 0, "route": [ { - "x": 662, + "x": 689, "y": 473 }, { - "x": 517.8, + "x": 545, "y": 393 }, { - "x": 481.8, + "x": 509, "y": 364.6 }, { - "x": 482, + "x": 509, "y": 331 } ], @@ -1103,12 +1103,12 @@ "labelPercentage": 0, "route": [ { - "x": 434, + "x": 461, "y": 896.5 }, { - "x": 670, - "y": 813.5 + "x": 697.5, + "y": 812.9328358208955 } ], "animated": false, @@ -1143,56 +1143,56 @@ "labelPercentage": 0, "route": [ { - "x": 454, + "x": 481, "y": 331 }, { - "x": 453.8, + "x": 481, "y": 364.6 }, { - "x": 453.75, + "x": 481, "y": 396.9 }, { - "x": 453.75, + "x": 481, "y": 432.75 }, { - "x": 453.75, + "x": 481, "y": 468.6 }, { - "x": 453.75, + "x": 481, "y": 516.4 }, { - "x": 453.75, + "x": 481, "y": 552.25 }, { - "x": 453.75, + "x": 481, "y": 588.1 }, { - "x": 453.75, + "x": 481, "y": 624.1 }, { - "x": 453.75, + "x": 481, "y": 642.25 }, { - "x": 453.75, + "x": 481, "y": 660.4 }, { - "x": 496.95, - "y": 737.3 + "x": 524.3, + "y": 737.2593429158111 }, { - "x": 669.75, - "y": 796.5 + "x": 697.5, + "y": 796.2967145790554 } ], "isCurve": true, diff --git a/e2etests/testdata/stable/chaos2/dagre/sketch.exp.svg b/e2etests/testdata/stable/chaos2/dagre/sketch.exp.svg index 2580cdbb6..b7776e4c0 100644 --- a/e2etests/testdata/stable/chaos2/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/chaos2/dagre/sketch.exp.svg @@ -1,23 +1,23 @@ -aabbllmmnnoocciikkddgghhjjeeff1122 334455667788 - - - - - - - - - +aabbllmmnnoocciikkddgghhjjeeff1122 334455667788 + + + + + + + + + \ No newline at end of file diff --git a/e2etests/testdata/stable/edge-label-overflow/dagre/board.exp.json b/e2etests/testdata/stable/edge-label-overflow/dagre/board.exp.json new file mode 100644 index 000000000..447a27946 --- /dev/null +++ b/e2etests/testdata/stable/edge-label-overflow/dagre/board.exp.json @@ -0,0 +1,319 @@ +{ + "name": "", + "isFolderOnly": false, + "fontFamily": "SourceSansPro", + "shapes": [ + { + "id": "student", + "type": "rectangle", + "pos": { + "x": 110, + "y": 0 + }, + "width": 100, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B6", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "student", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 55, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "committee chair", + "type": "rectangle", + "pos": { + "x": 79, + "y": 187 + }, + "width": 162, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B6", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "committee chair", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 117, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "committee", + "type": "rectangle", + "pos": { + "x": 99, + "y": 374 + }, + "width": 122, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B6", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "committee", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 77, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + } + ], + "connections": [ + { + "id": "(student -> committee chair)[0]", + "src": "student", + "srcArrow": "none", + "srcLabel": "", + "dst": "committee chair", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "borderRadius": 10, + "label": "Apply for appeal", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 109, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 126.13235294117646, + "y": 66 + }, + { + "x": 76.82647058823528, + "y": 114.4 + }, + { + "x": 76.9, + "y": 138.7 + }, + { + "x": 126.5, + "y": 187.5 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(student <- committee chair)[0]", + "src": "student", + "srcArrow": "triangle", + "srcLabel": "", + "dst": "committee chair", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "borderRadius": 10, + "label": "Deny. Need more information", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 192, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 193.36764705882354, + "y": 66 + }, + { + "x": 242.67352941176472, + "y": 114.4 + }, + { + "x": 242.6, + "y": 138.7 + }, + { + "x": 193, + "y": 187.5 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(committee chair -> committee)[0]", + "src": "committee chair", + "srcArrow": "none", + "srcLabel": "", + "dst": "committee", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "borderRadius": 10, + "label": "Accept appeal", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 94, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 159.75, + "y": 253 + }, + { + "x": 159.75, + "y": 301.4 + }, + { + "x": 159.75, + "y": 325.7 + }, + { + "x": 159.75, + "y": 374.5 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ], + "root": { + "id": "", + "type": "", + "pos": { + "x": 0, + "y": 0 + }, + "width": 0, + "height": 0, + "opacity": 0, + "strokeDash": 0, + "strokeWidth": 0, + "borderRadius": 0, + "fill": "N7", + "stroke": "", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "", + "fontSize": 0, + "fontFamily": "", + "language": "", + "color": "", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "zIndex": 0, + "level": 0 + } +} diff --git a/e2etests/testdata/stable/edge-label-overflow/dagre/sketch.exp.svg b/e2etests/testdata/stable/edge-label-overflow/dagre/sketch.exp.svg new file mode 100644 index 000000000..efcdc3cce --- /dev/null +++ b/e2etests/testdata/stable/edge-label-overflow/dagre/sketch.exp.svg @@ -0,0 +1,104 @@ +studentcommittee chaircommittee Apply for appeal Deny. Need more informationAccept appeal + + + + + \ No newline at end of file diff --git a/e2etests/testdata/stable/edge-label-overflow/elk/board.exp.json b/e2etests/testdata/stable/edge-label-overflow/elk/board.exp.json new file mode 100644 index 000000000..f17ddcb63 --- /dev/null +++ b/e2etests/testdata/stable/edge-label-overflow/elk/board.exp.json @@ -0,0 +1,324 @@ +{ + "name": "", + "isFolderOnly": false, + "fontFamily": "SourceSansPro", + "shapes": [ + { + "id": "student", + "type": "rectangle", + "pos": { + "x": 97, + "y": 12 + }, + "width": 100, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B6", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "student", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 55, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "committee chair", + "type": "rectangle", + "pos": { + "x": 66, + "y": 259 + }, + "width": 162, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B6", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "committee chair", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 117, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "committee", + "type": "rectangle", + "pos": { + "x": 86, + "y": 486 + }, + "width": 122, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B6", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "committee", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 77, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + } + ], + "connections": [ + { + "id": "(student -> committee chair)[0]", + "src": "student", + "srcArrow": "none", + "srcLabel": "", + "dst": "committee chair", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "borderRadius": 10, + "label": "Apply for appeal", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 109, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 130.58333333333331, + "y": 78 + }, + { + "x": 130.58333333333331, + "y": 118 + }, + { + "x": 66.5, + "y": 118 + }, + { + "x": 66.5, + "y": 219 + }, + { + "x": 120.25, + "y": 219 + }, + { + "x": 120.25, + "y": 259 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(student <- committee chair)[0]", + "src": "student", + "srcArrow": "triangle", + "srcLabel": "", + "dst": "committee chair", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "borderRadius": 10, + "label": "Deny. Need more information", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 192, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 163.91666666666666, + "y": 78 + }, + { + "x": 163.91666666666666, + "y": 118 + }, + { + "x": 228, + "y": 118 + }, + { + "x": 228, + "y": 219 + }, + { + "x": 174.25, + "y": 219 + }, + { + "x": 174.25, + "y": 259 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(committee chair -> committee)[0]", + "src": "committee chair", + "srcArrow": "none", + "srcLabel": "", + "dst": "committee", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "borderRadius": 10, + "label": "Accept appeal", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 94, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 147.25, + "y": 325 + }, + { + "x": 147.25, + "y": 486 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ], + "root": { + "id": "", + "type": "", + "pos": { + "x": 0, + "y": 0 + }, + "width": 0, + "height": 0, + "opacity": 0, + "strokeDash": 0, + "strokeWidth": 0, + "borderRadius": 0, + "fill": "N7", + "stroke": "", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "", + "fontSize": 0, + "fontFamily": "", + "language": "", + "color": "", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "zIndex": 0, + "level": 0 + } +} diff --git a/e2etests/testdata/stable/edge-label-overflow/elk/sketch.exp.svg b/e2etests/testdata/stable/edge-label-overflow/elk/sketch.exp.svg new file mode 100644 index 000000000..fd70eb8b0 --- /dev/null +++ b/e2etests/testdata/stable/edge-label-overflow/elk/sketch.exp.svg @@ -0,0 +1,104 @@ +studentcommittee chaircommittee Apply for appeal Deny. Need more informationAccept appeal + + + + + \ No newline at end of file diff --git a/e2etests/testdata/stable/elk_shim/dagre/board.exp.json b/e2etests/testdata/stable/elk_shim/dagre/board.exp.json index f839bf8a2..825a9fef0 100644 --- a/e2etests/testdata/stable/elk_shim/dagre/board.exp.json +++ b/e2etests/testdata/stable/elk_shim/dagre/board.exp.json @@ -10,7 +10,7 @@ "x": 0, "y": 275 }, - "width": 387, + "width": 417, "height": 1215, "opacity": 1, "strokeDash": 0, @@ -51,7 +51,7 @@ "x": 95, "y": 340 }, - "width": 273, + "width": 302, "height": 307, "opacity": 1, "strokeDash": 0, @@ -89,7 +89,7 @@ "id": "network.cell tower.satellites", "type": "stored_data", "pos": { - "x": 161, + "x": 176, "y": 372 }, "width": 140, @@ -130,7 +130,7 @@ "id": "network.cell tower.transmitter", "type": "rectangle", "pos": { - "x": 161, + "x": 176, "y": 554 }, "width": 140, @@ -253,7 +253,7 @@ "id": "network.data processor", "type": "rectangle", "pos": { - "x": 142, + "x": 157, "y": 804 }, "width": 179, @@ -294,7 +294,7 @@ "id": "network.data processor.storage", "type": "cylinder", "pos": { - "x": 182, + "x": 197, "y": 836 }, "width": 99, @@ -335,7 +335,7 @@ "id": "user", "type": "person", "pos": { - "x": 75, + "x": 80, "y": 0 }, "width": 130, @@ -376,7 +376,7 @@ "id": "api server", "type": "rectangle", "pos": { - "x": 428, + "x": 457, "y": 1066 }, "width": 116, @@ -417,7 +417,7 @@ "id": "logs", "type": "page", "pos": { - "x": 449, + "x": 479, "y": 1303 }, "width": 73, @@ -483,19 +483,19 @@ "labelPercentage": 0, "route": [ { - "x": 210, + "x": 221, "y": 434 }, { - "x": 176.4, + "x": 182.6, "y": 482 }, { - "x": 176.4, + "x": 182.8, "y": 506.2 }, { - "x": 210, + "x": 222, "y": 555 } ], @@ -532,19 +532,19 @@ "labelPercentage": 0, "route": [ { - "x": 231, + "x": 246, "y": 434 }, { - "x": 231.2, + "x": 246, "y": 482 }, { - "x": 231.25, + "x": 246, "y": 506.2 }, { - "x": 231.25, + "x": 246, "y": 555 } ], @@ -581,19 +581,19 @@ "labelPercentage": 0, "route": [ { - "x": 253, + "x": 271, "y": 434 }, { - "x": 286.2, + "x": 309.4, "y": 482 }, { - "x": 286.1, + "x": 309.2, "y": 506.2 }, { - "x": 252.5, + "x": 270, "y": 555 } ], @@ -630,31 +630,31 @@ "labelPercentage": 0, "route": [ { - "x": 231.25, + "x": 246, "y": 615.5 }, { - "x": 231.25, + "x": 246, "y": 641.1 }, { - "x": 231.25, + "x": 246, "y": 659.6 }, { - "x": 231.25, + "x": 246, "y": 677.75 }, { - "x": 231.25, + "x": 246, "y": 695.9 }, { - "x": 231.2, + "x": 246, "y": 782.2 }, { - "x": 231, + "x": 246, "y": 837 } ], @@ -691,19 +691,19 @@ "labelPercentage": 0, "route": [ { - "x": 164, + "x": 171, "y": 87 }, { - "x": 217.8, + "x": 231, "y": 156.2 }, { - "x": 231.25, + "x": 246, "y": 248.2 }, { - "x": 231.25, + "x": 246, "y": 305 } ], @@ -740,11 +740,11 @@ "labelPercentage": 0, "route": [ { - "x": 123, + "x": 126, "y": 87 }, { - "x": 84.4, + "x": 85, "y": 156.2 }, { @@ -945,12 +945,12 @@ "labelPercentage": 0, "route": [ { - "x": 427.75, - "y": 1113.8881262868908 + "x": 457.25, + "y": 1112.7726984126984 }, { - "x": 182.75, - "y": 1176.777625257378 + "x": 188.64999999999998, + "y": 1176.5545396825396 }, { "x": 118.2, @@ -994,19 +994,19 @@ "labelPercentage": 0, "route": [ { - "x": 485.75, + "x": 515.25, "y": 1132 }, { - "x": 485.75, + "x": 515.25, "y": 1180.4 }, { - "x": 485.8, + "x": 515.2, "y": 1263 }, { - "x": 486, + "x": 515, "y": 1303 } ], @@ -1043,20 +1043,20 @@ "labelPercentage": 0, "route": [ { - "x": 231.25, + "x": 246, "y": 986.5 }, { - "x": 231.25, + "x": 246, "y": 1010.1 }, { - "x": 270.55, - "y": 1028.8168958742633 + "x": 288.2, + "y": 1029 }, { - "x": 427.75, - "y": 1080.0844793713163 + "x": 457, + "y": 1081 } ], "isCurve": true, diff --git a/e2etests/testdata/stable/elk_shim/dagre/sketch.exp.svg b/e2etests/testdata/stable/elk_shim/dagre/sketch.exp.svg index 6f5a2477e..b7f521821 100644 --- a/e2etests/testdata/stable/elk_shim/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/elk_shim/dagre/sketch.exp.svg @@ -1,23 +1,23 @@ -networkuserapi serverlogscell towerONLINE PORTALLLLdata processorsatellitestransmitteruistorage sendsendsendphone logsmake call accessdisplaypersist - - - - - - - - - + .d2-49621034 .fill-N1{fill:#0A0F25;} + .d2-49621034 .fill-N2{fill:#676C7E;} + .d2-49621034 .fill-N3{fill:#9499AB;} + .d2-49621034 .fill-N4{fill:#CFD2DD;} + .d2-49621034 .fill-N5{fill:#DEE1EB;} + .d2-49621034 .fill-N6{fill:#EEF1F8;} + .d2-49621034 .fill-N7{fill:#FFFFFF;} + .d2-49621034 .fill-B1{fill:#0D32B2;} + .d2-49621034 .fill-B2{fill:#0D32B2;} + .d2-49621034 .fill-B3{fill:#E3E9FD;} + .d2-49621034 .fill-B4{fill:#E3E9FD;} + .d2-49621034 .fill-B5{fill:#EDF0FD;} + .d2-49621034 .fill-B6{fill:#F7F8FE;} + .d2-49621034 .fill-AA2{fill:#4A6FF3;} + .d2-49621034 .fill-AA4{fill:#EDF0FD;} + .d2-49621034 .fill-AA5{fill:#F7F8FE;} + .d2-49621034 .fill-AB4{fill:#EDF0FD;} + .d2-49621034 .fill-AB5{fill:#F7F8FE;} + .d2-49621034 .stroke-N1{stroke:#0A0F25;} + .d2-49621034 .stroke-N2{stroke:#676C7E;} + .d2-49621034 .stroke-N3{stroke:#9499AB;} + .d2-49621034 .stroke-N4{stroke:#CFD2DD;} + .d2-49621034 .stroke-N5{stroke:#DEE1EB;} + .d2-49621034 .stroke-N6{stroke:#EEF1F8;} + .d2-49621034 .stroke-N7{stroke:#FFFFFF;} + .d2-49621034 .stroke-B1{stroke:#0D32B2;} + .d2-49621034 .stroke-B2{stroke:#0D32B2;} + .d2-49621034 .stroke-B3{stroke:#E3E9FD;} + .d2-49621034 .stroke-B4{stroke:#E3E9FD;} + .d2-49621034 .stroke-B5{stroke:#EDF0FD;} + .d2-49621034 .stroke-B6{stroke:#F7F8FE;} + .d2-49621034 .stroke-AA2{stroke:#4A6FF3;} + .d2-49621034 .stroke-AA4{stroke:#EDF0FD;} + .d2-49621034 .stroke-AA5{stroke:#F7F8FE;} + .d2-49621034 .stroke-AB4{stroke:#EDF0FD;} + .d2-49621034 .stroke-AB5{stroke:#F7F8FE;} + .d2-49621034 .background-color-N1{background-color:#0A0F25;} + .d2-49621034 .background-color-N2{background-color:#676C7E;} + .d2-49621034 .background-color-N3{background-color:#9499AB;} + .d2-49621034 .background-color-N4{background-color:#CFD2DD;} + .d2-49621034 .background-color-N5{background-color:#DEE1EB;} + .d2-49621034 .background-color-N6{background-color:#EEF1F8;} + .d2-49621034 .background-color-N7{background-color:#FFFFFF;} + .d2-49621034 .background-color-B1{background-color:#0D32B2;} + .d2-49621034 .background-color-B2{background-color:#0D32B2;} + .d2-49621034 .background-color-B3{background-color:#E3E9FD;} + .d2-49621034 .background-color-B4{background-color:#E3E9FD;} + .d2-49621034 .background-color-B5{background-color:#EDF0FD;} + .d2-49621034 .background-color-B6{background-color:#F7F8FE;} + .d2-49621034 .background-color-AA2{background-color:#4A6FF3;} + .d2-49621034 .background-color-AA4{background-color:#EDF0FD;} + .d2-49621034 .background-color-AA5{background-color:#F7F8FE;} + .d2-49621034 .background-color-AB4{background-color:#EDF0FD;} + .d2-49621034 .background-color-AB5{background-color:#F7F8FE;} + .d2-49621034 .color-N1{color:#0A0F25;} + .d2-49621034 .color-N2{color:#676C7E;} + .d2-49621034 .color-N3{color:#9499AB;} + .d2-49621034 .color-N4{color:#CFD2DD;} + .d2-49621034 .color-N5{color:#DEE1EB;} + .d2-49621034 .color-N6{color:#EEF1F8;} + .d2-49621034 .color-N7{color:#FFFFFF;} + .d2-49621034 .color-B1{color:#0D32B2;} + .d2-49621034 .color-B2{color:#0D32B2;} + .d2-49621034 .color-B3{color:#E3E9FD;} + .d2-49621034 .color-B4{color:#E3E9FD;} + .d2-49621034 .color-B5{color:#EDF0FD;} + .d2-49621034 .color-B6{color:#F7F8FE;} + .d2-49621034 .color-AA2{color:#4A6FF3;} + .d2-49621034 .color-AA4{color:#EDF0FD;} + .d2-49621034 .color-AA5{color:#F7F8FE;} + .d2-49621034 .color-AB4{color:#EDF0FD;} + .d2-49621034 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]>networkuserapi serverlogscell towerONLINE PORTALLLLdata processorsatellitestransmitteruistorage sendsendsendphone logsmake call accessdisplaypersist + + + + + + + + + \ No newline at end of file diff --git a/e2etests/testdata/stable/mono-font/dagre/board.exp.json b/e2etests/testdata/stable/mono-font/dagre/board.exp.json index 81f339d09..26858d406 100644 --- a/e2etests/testdata/stable/mono-font/dagre/board.exp.json +++ b/e2etests/testdata/stable/mono-font/dagre/board.exp.json @@ -7,7 +7,7 @@ "id": "satellites", "type": "stored_data", "pos": { - "x": 0, + "x": 27, "y": 0 }, "width": 161, @@ -48,7 +48,7 @@ "id": "transmitter", "type": "rectangle", "pos": { - "x": 5, + "x": 32, "y": 187 }, "width": 151, @@ -114,19 +114,19 @@ "labelPercentage": 0, "route": [ { - "x": 60, + "x": 79, "y": 66 }, { - "x": 30, + "x": 39, "y": 114.4 }, { - "x": 30.1, + "x": 39, "y": 138.7 }, { - "x": 60.5, + "x": 79, "y": 187.5 } ], @@ -163,19 +163,19 @@ "labelPercentage": 0, "route": [ { - "x": 80, + "x": 107, "y": 66 }, { - "x": 80.4, + "x": 107, "y": 114.4 }, { - "x": 80.5, + "x": 107, "y": 138.7 }, { - "x": 80.5, + "x": 107, "y": 187.5 } ], @@ -212,19 +212,19 @@ "labelPercentage": 0, "route": [ { - "x": 101, + "x": 135, "y": 66 }, { - "x": 131, + "x": 175, "y": 114.4 }, { - "x": 130.9, + "x": 175, "y": 138.7 }, { - "x": 100.5, + "x": 135, "y": 187.5 } ], diff --git a/e2etests/testdata/stable/mono-font/dagre/sketch.exp.svg b/e2etests/testdata/stable/mono-font/dagre/sketch.exp.svg index ce9247380..3a7b425a7 100644 --- a/e2etests/testdata/stable/mono-font/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/mono-font/dagre/sketch.exp.svg @@ -1,16 +1,16 @@ -SATELLITESTRANSMITTER SENDSENDSEND - - - - + .d2-1620692864 .fill-N1{fill:#0A0F25;} + .d2-1620692864 .fill-N2{fill:#676C7E;} + .d2-1620692864 .fill-N3{fill:#9499AB;} + .d2-1620692864 .fill-N4{fill:#CFD2DD;} + .d2-1620692864 .fill-N5{fill:#DEE1EB;} + .d2-1620692864 .fill-N6{fill:#EEF1F8;} + .d2-1620692864 .fill-N7{fill:#FFFFFF;} + .d2-1620692864 .fill-B1{fill:#0D32B2;} + .d2-1620692864 .fill-B2{fill:#0D32B2;} + .d2-1620692864 .fill-B3{fill:#E3E9FD;} + .d2-1620692864 .fill-B4{fill:#E3E9FD;} + .d2-1620692864 .fill-B5{fill:#EDF0FD;} + .d2-1620692864 .fill-B6{fill:#F7F8FE;} + .d2-1620692864 .fill-AA2{fill:#4A6FF3;} + .d2-1620692864 .fill-AA4{fill:#EDF0FD;} + .d2-1620692864 .fill-AA5{fill:#F7F8FE;} + .d2-1620692864 .fill-AB4{fill:#EDF0FD;} + .d2-1620692864 .fill-AB5{fill:#F7F8FE;} + .d2-1620692864 .stroke-N1{stroke:#0A0F25;} + .d2-1620692864 .stroke-N2{stroke:#676C7E;} + .d2-1620692864 .stroke-N3{stroke:#9499AB;} + .d2-1620692864 .stroke-N4{stroke:#CFD2DD;} + .d2-1620692864 .stroke-N5{stroke:#DEE1EB;} + .d2-1620692864 .stroke-N6{stroke:#EEF1F8;} + .d2-1620692864 .stroke-N7{stroke:#FFFFFF;} + .d2-1620692864 .stroke-B1{stroke:#0D32B2;} + .d2-1620692864 .stroke-B2{stroke:#0D32B2;} + .d2-1620692864 .stroke-B3{stroke:#E3E9FD;} + .d2-1620692864 .stroke-B4{stroke:#E3E9FD;} + .d2-1620692864 .stroke-B5{stroke:#EDF0FD;} + .d2-1620692864 .stroke-B6{stroke:#F7F8FE;} + .d2-1620692864 .stroke-AA2{stroke:#4A6FF3;} + .d2-1620692864 .stroke-AA4{stroke:#EDF0FD;} + .d2-1620692864 .stroke-AA5{stroke:#F7F8FE;} + .d2-1620692864 .stroke-AB4{stroke:#EDF0FD;} + .d2-1620692864 .stroke-AB5{stroke:#F7F8FE;} + .d2-1620692864 .background-color-N1{background-color:#0A0F25;} + .d2-1620692864 .background-color-N2{background-color:#676C7E;} + .d2-1620692864 .background-color-N3{background-color:#9499AB;} + .d2-1620692864 .background-color-N4{background-color:#CFD2DD;} + .d2-1620692864 .background-color-N5{background-color:#DEE1EB;} + .d2-1620692864 .background-color-N6{background-color:#EEF1F8;} + .d2-1620692864 .background-color-N7{background-color:#FFFFFF;} + .d2-1620692864 .background-color-B1{background-color:#0D32B2;} + .d2-1620692864 .background-color-B2{background-color:#0D32B2;} + .d2-1620692864 .background-color-B3{background-color:#E3E9FD;} + .d2-1620692864 .background-color-B4{background-color:#E3E9FD;} + .d2-1620692864 .background-color-B5{background-color:#EDF0FD;} + .d2-1620692864 .background-color-B6{background-color:#F7F8FE;} + .d2-1620692864 .background-color-AA2{background-color:#4A6FF3;} + .d2-1620692864 .background-color-AA4{background-color:#EDF0FD;} + .d2-1620692864 .background-color-AA5{background-color:#F7F8FE;} + .d2-1620692864 .background-color-AB4{background-color:#EDF0FD;} + .d2-1620692864 .background-color-AB5{background-color:#F7F8FE;} + .d2-1620692864 .color-N1{color:#0A0F25;} + .d2-1620692864 .color-N2{color:#676C7E;} + .d2-1620692864 .color-N3{color:#9499AB;} + .d2-1620692864 .color-N4{color:#CFD2DD;} + .d2-1620692864 .color-N5{color:#DEE1EB;} + .d2-1620692864 .color-N6{color:#EEF1F8;} + .d2-1620692864 .color-N7{color:#FFFFFF;} + .d2-1620692864 .color-B1{color:#0D32B2;} + .d2-1620692864 .color-B2{color:#0D32B2;} + .d2-1620692864 .color-B3{color:#E3E9FD;} + .d2-1620692864 .color-B4{color:#E3E9FD;} + .d2-1620692864 .color-B5{color:#EDF0FD;} + .d2-1620692864 .color-B6{color:#F7F8FE;} + .d2-1620692864 .color-AA2{color:#4A6FF3;} + .d2-1620692864 .color-AA4{color:#EDF0FD;} + .d2-1620692864 .color-AA5{color:#F7F8FE;} + .d2-1620692864 .color-AB4{color:#EDF0FD;} + .d2-1620692864 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]>SATELLITESTRANSMITTER SENDSENDSEND + + + + \ No newline at end of file diff --git a/e2etests/testdata/stable/self-referencing/dagre/board.exp.json b/e2etests/testdata/stable/self-referencing/dagre/board.exp.json index 400eed576..f0bffef02 100644 --- a/e2etests/testdata/stable/self-referencing/dagre/board.exp.json +++ b/e2etests/testdata/stable/self-referencing/dagre/board.exp.json @@ -48,7 +48,7 @@ "id": "y", "type": "rectangle", "pos": { - "x": 76, + "x": 96, "y": 166 }, "width": 54, @@ -89,7 +89,7 @@ "id": "z", "type": "rectangle", "pos": { - "x": 153, + "x": 193, "y": 0 }, "width": 52, @@ -156,55 +156,55 @@ "route": [ { "x": 53, - "y": 16.551724137931032 + "y": 18.38440111420613 }, { - "x": 74.33333333333333, - "y": 3.3103448275862064 + "x": 79.66666666666667, + "y": 3.676880222841225 }, { - "x": 81, + "x": 88, "y": 0 }, { - "x": 83, + "x": 90.5, "y": 0 }, { - "x": 85, + "x": 93, "y": 0 }, { - "x": 87.66666666666667, + "x": 96.33333333333333, "y": 6.6000000000000005 }, { - "x": 89.66666666666667, + "x": 98.83333333333333, "y": 16.5 }, { - "x": 91.66666666666667, + "x": 101.33333333333333, "y": 26.400000000000002 }, { - "x": 91.66666666666667, + "x": 101.33333333333333, "y": 39.6 }, { - "x": 89.66666666666667, + "x": 98.83333333333333, "y": 49.5 }, { - "x": 87.66666666666667, + "x": 96.33333333333333, "y": 59.400000000000006 }, { - "x": 74.33333333333333, - "y": 62.689655172413794 + "x": 79.66666666666667, + "y": 62.32311977715877 }, { "x": 53, - "y": 49.44827586206897 + "y": 47.61559888579387 } ], "isCurve": true, @@ -241,55 +241,55 @@ "route": [ { "x": 53, - "y": 19.849624060150376 - }, - { - "x": 85, - "y": 3.969924812030074 - }, - { - "x": 95, - "y": 0 - }, - { - "x": 98, - "y": 0 + "y": 22.890173410404625 }, { "x": 101, + "y": 4.578034682080926 + }, + { + "x": 116, "y": 0 }, { - "x": 105, + "x": 120.5, + "y": 0 + }, + { + "x": 125, + "y": 0 + }, + { + "x": 131, "y": 6.6000000000000005 }, { - "x": 108, + "x": 135.5, "y": 16.5 }, { - "x": 111, + "x": 140, "y": 26.400000000000002 }, { - "x": 111, + "x": 140, "y": 39.6 }, { - "x": 108, + "x": 135.5, "y": 49.5 }, { - "x": 105, + "x": 131, "y": 59.400000000000006 }, { - "x": 85, - "y": 62.03007518796993 + "x": 101, + "y": 61.421965317919074 }, { "x": 53, - "y": 46.150375939849624 + "y": 43.10982658959537 } ], "isCurve": true, @@ -333,12 +333,12 @@ "y": 106 }, { - "x": 36.35, - "y": 126.72196721311475 + "x": 40.35, + "y": 127.94337662337662 }, { - "x": 75.75, - "y": 169.60983606557377 + "x": 95.75, + "y": 175.7168831168831 } ], "isCurve": true, @@ -374,20 +374,20 @@ "labelPercentage": 0, "route": [ { - "x": 179, + "x": 219, "y": 66 }, { - "x": 179, + "x": 219, "y": 106 }, { - "x": 169.2, - "y": 126.6 + "x": 205.2, + "y": 128 }, { - "x": 130, - "y": 169 + "x": 150, + "y": 176 } ], "isCurve": true, @@ -423,56 +423,56 @@ "labelPercentage": 0, "route": [ { - "x": 205, - "y": 19.523560209424083 + "x": 245, + "y": 19.52356020942409 }, { - "x": 235.13333333333333, - "y": 3.9047120418848156 + "x": 275.1333333333333, + "y": 3.9047120418848174 }, { - "x": 244.54999999999998, + "x": 284.55, "y": 0 }, { - "x": 247.375, + "x": 287.375, "y": 0 }, { - "x": 250.20000000000002, + "x": 290.2, "y": 0 }, { - "x": 253.96666666666667, + "x": 293.96666666666664, "y": 6.6000000000000005 }, { - "x": 256.7916666666667, + "x": 296.79166666666663, "y": 16.5 }, { - "x": 259.6166666666667, + "x": 299.6166666666667, "y": 26.400000000000002 }, { - "x": 259.6166666666667, + "x": 299.6166666666667, "y": 39.6 }, { - "x": 256.7916666666667, + "x": 296.79166666666663, "y": 49.5 }, { - "x": 253.96666666666667, + "x": 293.96666666666664, "y": 59.400000000000006 }, { - "x": 235.13333333333333, - "y": 62.095287958115186 + "x": 275.1333333333333, + "y": 62.09528795811518 }, { - "x": 205, - "y": 46.47643979057592 + "x": 245, + "y": 46.47643979057591 } ], "isCurve": true, diff --git a/e2etests/testdata/stable/self-referencing/dagre/sketch.exp.svg b/e2etests/testdata/stable/self-referencing/dagre/sketch.exp.svg index f20e33297..57476f28f 100644 --- a/e2etests/testdata/stable/self-referencing/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/self-referencing/dagre/sketch.exp.svg @@ -1,16 +1,16 @@ -xyz hello - - + .d2-4144856773 .fill-N1{fill:#0A0F25;} + .d2-4144856773 .fill-N2{fill:#676C7E;} + .d2-4144856773 .fill-N3{fill:#9499AB;} + .d2-4144856773 .fill-N4{fill:#CFD2DD;} + .d2-4144856773 .fill-N5{fill:#DEE1EB;} + .d2-4144856773 .fill-N6{fill:#EEF1F8;} + .d2-4144856773 .fill-N7{fill:#FFFFFF;} + .d2-4144856773 .fill-B1{fill:#0D32B2;} + .d2-4144856773 .fill-B2{fill:#0D32B2;} + .d2-4144856773 .fill-B3{fill:#E3E9FD;} + .d2-4144856773 .fill-B4{fill:#E3E9FD;} + .d2-4144856773 .fill-B5{fill:#EDF0FD;} + .d2-4144856773 .fill-B6{fill:#F7F8FE;} + .d2-4144856773 .fill-AA2{fill:#4A6FF3;} + .d2-4144856773 .fill-AA4{fill:#EDF0FD;} + .d2-4144856773 .fill-AA5{fill:#F7F8FE;} + .d2-4144856773 .fill-AB4{fill:#EDF0FD;} + .d2-4144856773 .fill-AB5{fill:#F7F8FE;} + .d2-4144856773 .stroke-N1{stroke:#0A0F25;} + .d2-4144856773 .stroke-N2{stroke:#676C7E;} + .d2-4144856773 .stroke-N3{stroke:#9499AB;} + .d2-4144856773 .stroke-N4{stroke:#CFD2DD;} + .d2-4144856773 .stroke-N5{stroke:#DEE1EB;} + .d2-4144856773 .stroke-N6{stroke:#EEF1F8;} + .d2-4144856773 .stroke-N7{stroke:#FFFFFF;} + .d2-4144856773 .stroke-B1{stroke:#0D32B2;} + .d2-4144856773 .stroke-B2{stroke:#0D32B2;} + .d2-4144856773 .stroke-B3{stroke:#E3E9FD;} + .d2-4144856773 .stroke-B4{stroke:#E3E9FD;} + .d2-4144856773 .stroke-B5{stroke:#EDF0FD;} + .d2-4144856773 .stroke-B6{stroke:#F7F8FE;} + .d2-4144856773 .stroke-AA2{stroke:#4A6FF3;} + .d2-4144856773 .stroke-AA4{stroke:#EDF0FD;} + .d2-4144856773 .stroke-AA5{stroke:#F7F8FE;} + .d2-4144856773 .stroke-AB4{stroke:#EDF0FD;} + .d2-4144856773 .stroke-AB5{stroke:#F7F8FE;} + .d2-4144856773 .background-color-N1{background-color:#0A0F25;} + .d2-4144856773 .background-color-N2{background-color:#676C7E;} + .d2-4144856773 .background-color-N3{background-color:#9499AB;} + .d2-4144856773 .background-color-N4{background-color:#CFD2DD;} + .d2-4144856773 .background-color-N5{background-color:#DEE1EB;} + .d2-4144856773 .background-color-N6{background-color:#EEF1F8;} + .d2-4144856773 .background-color-N7{background-color:#FFFFFF;} + .d2-4144856773 .background-color-B1{background-color:#0D32B2;} + .d2-4144856773 .background-color-B2{background-color:#0D32B2;} + .d2-4144856773 .background-color-B3{background-color:#E3E9FD;} + .d2-4144856773 .background-color-B4{background-color:#E3E9FD;} + .d2-4144856773 .background-color-B5{background-color:#EDF0FD;} + .d2-4144856773 .background-color-B6{background-color:#F7F8FE;} + .d2-4144856773 .background-color-AA2{background-color:#4A6FF3;} + .d2-4144856773 .background-color-AA4{background-color:#EDF0FD;} + .d2-4144856773 .background-color-AA5{background-color:#F7F8FE;} + .d2-4144856773 .background-color-AB4{background-color:#EDF0FD;} + .d2-4144856773 .background-color-AB5{background-color:#F7F8FE;} + .d2-4144856773 .color-N1{color:#0A0F25;} + .d2-4144856773 .color-N2{color:#676C7E;} + .d2-4144856773 .color-N3{color:#9499AB;} + .d2-4144856773 .color-N4{color:#CFD2DD;} + .d2-4144856773 .color-N5{color:#DEE1EB;} + .d2-4144856773 .color-N6{color:#EEF1F8;} + .d2-4144856773 .color-N7{color:#FFFFFF;} + .d2-4144856773 .color-B1{color:#0D32B2;} + .d2-4144856773 .color-B2{color:#0D32B2;} + .d2-4144856773 .color-B3{color:#E3E9FD;} + .d2-4144856773 .color-B4{color:#E3E9FD;} + .d2-4144856773 .color-B5{color:#EDF0FD;} + .d2-4144856773 .color-B6{color:#F7F8FE;} + .d2-4144856773 .color-AA2{color:#4A6FF3;} + .d2-4144856773 .color-AA4{color:#EDF0FD;} + .d2-4144856773 .color-AA5{color:#F7F8FE;} + .d2-4144856773 .color-AB4{color:#EDF0FD;} + .d2-4144856773 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]>xyz hello + + \ No newline at end of file diff --git a/e2etests/testdata/themes/origami/dagre/board.exp.json b/e2etests/testdata/themes/origami/dagre/board.exp.json index d317916d9..a0f45ac09 100644 --- a/e2etests/testdata/themes/origami/dagre/board.exp.json +++ b/e2etests/testdata/themes/origami/dagre/board.exp.json @@ -10,7 +10,7 @@ "x": 0, "y": 275 }, - "width": 351, + "width": 399, "height": 1225, "opacity": 1, "strokeDash": 0, @@ -52,7 +52,7 @@ "x": 95, "y": 340 }, - "width": 237, + "width": 284, "height": 317, "opacity": 1, "strokeDash": 0, @@ -91,7 +91,7 @@ "id": "network.cell tower.satellites", "type": "stored_data", "pos": { - "x": 161, + "x": 185, "y": 372 }, "width": 104, @@ -133,7 +133,7 @@ "id": "network.cell tower.transmitter", "type": "rectangle", "pos": { - "x": 161, + "x": 185, "y": 559 }, "width": 104, @@ -259,7 +259,7 @@ "id": "network.data processor", "type": "rectangle", "pos": { - "x": 121, + "x": 145, "y": 814 }, "width": 184, @@ -301,7 +301,7 @@ "id": "network.data processor.storage", "type": "cylinder", "pos": { - "x": 161, + "x": 185, "y": 846 }, "width": 104, @@ -343,7 +343,7 @@ "id": "user", "type": "person", "pos": { - "x": 66, + "x": 80, "y": 0 }, "width": 130, @@ -385,7 +385,7 @@ "id": "api server", "type": "rectangle", "pos": { - "x": 392, + "x": 439, "y": 1076 }, "width": 153, @@ -427,7 +427,7 @@ "id": "logs", "type": "page", "pos": { - "x": 426, + "x": 474, "y": 1313 }, "width": 84, @@ -493,19 +493,19 @@ "labelPercentage": 0, "route": [ { - "x": 194, + "x": 211, "y": 439 }, { - "x": 166, + "x": 173.4, "y": 487 }, { - "x": 166, + "x": 173.4, "y": 511.2 }, { - "x": 194, + "x": 211, "y": 560 } ], @@ -541,19 +541,19 @@ "labelPercentage": 0, "route": [ { - "x": 213, + "x": 237, "y": 439 }, { - "x": 213.2, + "x": 237, "y": 487 }, { - "x": 213.25, + "x": 237, "y": 511.2 }, { - "x": 213.25, + "x": 237, "y": 560 } ], @@ -589,19 +589,19 @@ "labelPercentage": 0, "route": [ { - "x": 233, + "x": 263, "y": 439 }, { - "x": 260.6, + "x": 300.6, "y": 487 }, { - "x": 260.5, + "x": 300.6, "y": 511.2 }, { - "x": 232.5, + "x": 263, "y": 560 } ], @@ -637,31 +637,31 @@ "labelPercentage": 0, "route": [ { - "x": 213.25, + "x": 237, "y": 625.5 }, { - "x": 213.25, + "x": 237, "y": 651.1 }, { - "x": 213.25, + "x": 237, "y": 669.6 }, { - "x": 213.25, + "x": 237, "y": 687.75 }, { - "x": 213.25, + "x": 237, "y": 705.9 }, { - "x": 213.2, + "x": 237, "y": 792.2 }, { - "x": 213, + "x": 237, "y": 847 } ], @@ -697,19 +697,19 @@ "labelPercentage": 0, "route": [ { - "x": 152, + "x": 169, "y": 87 }, { - "x": 201, + "x": 223.4, "y": 156.2 }, { - "x": 213.25, + "x": 237, "y": 248.2 }, { - "x": 213.25, + "x": 237, "y": 305 } ], @@ -745,11 +745,11 @@ "labelPercentage": 0, "route": [ { - "x": 116, + "x": 126, "y": 87 }, { - "x": 83, + "x": 85, "y": 156.2 }, { @@ -949,12 +949,12 @@ "labelPercentage": 0, "route": [ { - "x": 391.75, - "y": 1129.4949856733524 + "x": 439.25, + "y": 1127.0397225725094 }, { - "x": 173.75, - "y": 1187.8989971346705 + "x": 183.25, + "y": 1187.4079445145019 }, { "x": 116, @@ -997,19 +997,19 @@ "labelPercentage": 0, "route": [ { - "x": 468.25, + "x": 515.75, "y": 1142 }, { - "x": 468.25, + "x": 515.75, "y": 1190.4 }, { - "x": 468.2, + "x": 515.8, "y": 1273 }, { - "x": 468, + "x": 516, "y": 1313 } ], @@ -1045,20 +1045,20 @@ "labelPercentage": 0, "route": [ { - "x": 213.25, + "x": 237, "y": 996.5 }, { - "x": 213.25, + "x": 237, "y": 1020.1 }, { - "x": 248.95, - "y": 1037.62 + "x": 277.4, + "y": 1038 }, { - "x": 391.75, - "y": 1084.1 + "x": 439, + "y": 1086 } ], "isCurve": true, diff --git a/e2etests/testdata/themes/origami/dagre/sketch.exp.svg b/e2etests/testdata/themes/origami/dagre/sketch.exp.svg index 56d38cf2e..a580bee19 100644 --- a/e2etests/testdata/themes/origami/dagre/sketch.exp.svg +++ b/e2etests/testdata/themes/origami/dagre/sketch.exp.svg @@ -1,23 +1,23 @@ - \ No newline at end of file diff --git a/e2etests/testdata/themes/terminal_grayscale/dagre/board.exp.json b/e2etests/testdata/themes/terminal_grayscale/dagre/board.exp.json index aaff0b214..6777766c6 100644 --- a/e2etests/testdata/themes/terminal_grayscale/dagre/board.exp.json +++ b/e2etests/testdata/themes/terminal_grayscale/dagre/board.exp.json @@ -10,7 +10,7 @@ "x": 0, "y": 275 }, - "width": 410, + "width": 436, "height": 1225, "opacity": 1, "strokeDash": 0, @@ -52,7 +52,7 @@ "x": 96, "y": 340 }, - "width": 294, + "width": 320, "height": 317, "opacity": 1, "strokeDash": 0, @@ -91,7 +91,7 @@ "id": "network.cell tower.satellites", "type": "stored_data", "pos": { - "x": 163, + "x": 176, "y": 372 }, "width": 161, @@ -132,7 +132,7 @@ "id": "network.cell tower.transmitter", "type": "rectangle", "pos": { - "x": 168, + "x": 181, "y": 559 }, "width": 151, @@ -176,7 +176,7 @@ "x": 20, "y": 1319 }, - "width": 157, + "width": 154, "height": 151, "opacity": 1, "strokeDash": 0, @@ -215,7 +215,7 @@ "id": "network.online portal.ui", "type": "hexagon", "pos": { - "x": 71, + "x": 69, "y": 1360 }, "width": 65, @@ -256,7 +256,7 @@ "id": "network.data processor", "type": "rectangle", "pos": { - "x": 147, + "x": 161, "y": 814 }, "width": 192, @@ -298,7 +298,7 @@ "id": "network.data processor.storage", "type": "cylinder", "pos": { - "x": 187, + "x": 201, "y": 846 }, "width": 112, @@ -339,7 +339,7 @@ "id": "user", "type": "person", "pos": { - "x": 82, + "x": 85, "y": 0 }, "width": 130, @@ -380,7 +380,7 @@ "id": "api server", "type": "rectangle", "pos": { - "x": 450, + "x": 477, "y": 1076 }, "width": 142, @@ -421,7 +421,7 @@ "id": "logs", "type": "page", "pos": { - "x": 480, + "x": 507, "y": 1313 }, "width": 82, @@ -486,19 +486,19 @@ "labelPercentage": 0, "route": [ { - "x": 218, + "x": 229, "y": 439 }, { - "x": 182.4, + "x": 188.6, "y": 487 }, { - "x": 182.5, + "x": 188.5, "y": 511.2 }, { - "x": 218.5, + "x": 228.5, "y": 560 } ], @@ -534,19 +534,19 @@ "labelPercentage": 0, "route": [ { - "x": 243, + "x": 256, "y": 439 }, { - "x": 243.2, + "x": 256.4, "y": 487 }, { - "x": 243.25, + "x": 256.5, "y": 511.2 }, { - "x": 243.25, + "x": 256.5, "y": 560 } ], @@ -582,19 +582,19 @@ "labelPercentage": 0, "route": [ { - "x": 268, + "x": 284, "y": 439 }, { - "x": 304, + "x": 324.4, "y": 487 }, { - "x": 304, + "x": 324.5, "y": 511.2 }, { - "x": 268, + "x": 284.5, "y": 560 } ], @@ -630,31 +630,31 @@ "labelPercentage": 0, "route": [ { - "x": 243.25, + "x": 256.5, "y": 625.5 }, { - "x": 243.25, + "x": 256.5, "y": 651.1 }, { - "x": 243.25, + "x": 256.5, "y": 669.6 }, { - "x": 243.25, + "x": 256.5, "y": 687.75 }, { - "x": 243.25, + "x": 256.5, "y": 705.9 }, { - "x": 243.2, + "x": 256.6, "y": 792.2 }, { - "x": 243, + "x": 257, "y": 847 } ], @@ -690,19 +690,19 @@ "labelPercentage": 0, "route": [ { - "x": 172, + "x": 178, "y": 87 }, { - "x": 229, + "x": 240.8, "y": 156.2 }, { - "x": 243.25, + "x": 256.5, "y": 248.2 }, { - "x": 243.25, + "x": 256.5, "y": 305 } ], @@ -738,11 +738,11 @@ "labelPercentage": 0, "route": [ { - "x": 128, + "x": 131, "y": 87 }, { - "x": 86.6, + "x": 87.19999999999999, "y": 156.2 }, { @@ -902,11 +902,11 @@ "y": 1183.8 }, { - "x": 79.6, + "x": 79.4, "y": 1282.6 }, { - "x": 93, + "x": 92, "y": 1361 } ], @@ -942,19 +942,19 @@ "labelPercentage": 0, "route": [ { - "x": 450.25, - "y": 1126 + "x": 476.75, + "y": 1124.9196642685852 }, { - "x": 194.64999999999998, - "y": 1187.2 + "x": 199.95, + "y": 1186.983932853717 }, { - "x": 127.4, + "x": 127, "y": 1282.6 }, { - "x": 114, + "x": 112, "y": 1361 } ], @@ -990,19 +990,19 @@ "labelPercentage": 0, "route": [ { - "x": 521.25, + "x": 547.75, "y": 1142 }, { - "x": 521.25, + "x": 547.75, "y": 1190.4 }, { - "x": 521.2, + "x": 547.8, "y": 1273 }, { - "x": 521, + "x": 548, "y": 1313 } ], @@ -1038,20 +1038,20 @@ "labelPercentage": 0, "route": [ { - "x": 243.25, + "x": 256.5, "y": 996.5 }, { - "x": 243.25, + "x": 256.5, "y": 1020.1 }, { - "x": 284.65, - "y": 1038.4 + "x": 300.55, + "y": 1038.5533047210301 }, { - "x": 450.25, - "y": 1088 + "x": 476.75, + "y": 1088.7665236051503 } ], "isCurve": true, diff --git a/e2etests/testdata/themes/terminal_grayscale/dagre/sketch.exp.svg b/e2etests/testdata/themes/terminal_grayscale/dagre/sketch.exp.svg index 234bf36dc..e76c544c7 100644 --- a/e2etests/testdata/themes/terminal_grayscale/dagre/sketch.exp.svg +++ b/e2etests/testdata/themes/terminal_grayscale/dagre/sketch.exp.svg @@ -1,16 +1,16 @@ -