diff --git a/Makefile b/Makefile index 8fd431900..cff1068c0 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,8 @@ all: fmt gen lint build test .PHONY: fmt fmt: - prefix "$@" ./ci/sub/bin/fmt.sh + # Unset GITHUB_TOKEN, see https://github.com/terrastruct/d2/commit/335d925b7c937d4e7cac7e26de993f60840eb116#commitcomment-98101131 + GITHUB_TOKEN= prefix "$@" ./ci/sub/bin/fmt.sh .PHONY: gen gen: prefix "$@" ./ci/gen.sh diff --git a/ci/e2ereport.sh b/ci/e2ereport.sh index 02500ac58..2925b3658 100755 --- a/ci/e2ereport.sh +++ b/ci/e2ereport.sh @@ -9,7 +9,13 @@ FORCE_COLOR=1 DEBUG=1 go run ./e2etests/report/main.go "$@"; if [ -z "${NO_OPEN:-}" ]; then if [ -s "$REPORT_OUTPUT" ]; then - open "$REPORT_OUTPUT" + if command -v open >/dev/null; then + open "$REPORT_OUTPUT" + elif command -v xdg-open >/dev/null; then + xdg-open "$REPORT_OUTPUT" + else + echo "Please open $REPORT_OUTPUT" + fi else echo "The report is empty" fi diff --git a/ci/release/aws/ensure.sh b/ci/release/aws/ensure.sh index 8ee2afffb..d941273fa 100755 --- a/ci/release/aws/ensure.sh +++ b/ci/release/aws/ensure.sh @@ -331,6 +331,13 @@ sudo -E apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose- sudo groupadd docker || true sudo usermod -aG docker \$USER +printf %s '$CI_DOCKER_TOKEN' | docker login -u terrastruct --password-stdin +# For building images cross platform. +sudo -E apt-get install -y qemu qemu-user-static +if docker buildx ls | grep -q 'default \*'; then + docker buildx create --use +fi + mkdir -p \$HOME/.local/bin mkdir -p \$HOME/.local/share/man EOF @@ -387,7 +394,7 @@ init_remote_env() { sh_c ssh "$REMOTE_HOST" "sudo systemctl restart sshd" # ubuntu has $PATH hard coded in /etc/environment for some reason. It takes precedence # over ~/.ssh/environment. - sh_c ssh "$REMOTE_HOST" "sudo rm /etc/environment" + sh_c ssh "$REMOTE_HOST" "sudo rm -f /etc/environment" fi } diff --git a/ci/release/build.sh b/ci/release/build.sh index 2335a513e..63122b379 100755 --- a/ci/release/build.sh +++ b/ci/release/build.sh @@ -257,6 +257,7 @@ ARCHIVE=$ARCHIVE \ build_docker() { if [ -n "${LOCAL-}" ]; then sh_c ./ci/release/docker/build.sh \ + --version="$VERSION" \ ${PUSH_DOCKER:+--push} \ ${LATEST_DOCKER:+--latest} return 0 @@ -264,8 +265,14 @@ build_docker() { sh_c lockfile_ssh "$CI_D2_LINUX_AMD64" .d2-build-lock sh_c gitsync "$CI_D2_LINUX_AMD64" src/d2 - sh_c ssh "$CI_D2_LINUX_AMD64" "D2_DOCKER_IMAGE=${D2_DOCKER_IMAGE-}" \ + sh_c rsync --archive --human-readable \ + "$BUILD_DIR/d2-$VERSION"-linux-*.tar.gz \ + "$CI_D2_LINUX_AMD64:src/d2/$BUILD_DIR/" + sh_c ssh "$CI_D2_LINUX_AMD64" \ + "D2_DOCKER_IMAGE=${D2_DOCKER_IMAGE-}" \ + "RELEASE=${RELEASE-}" \ ./src/d2/ci/release/docker/build.sh \ + --version="$VERSION" \ ${PUSH_DOCKER:+--push} \ ${LATEST_DOCKER:+--latest} } diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md index fd95f04a1..e34faad22 100644 --- a/ci/release/changelogs/next.md +++ b/ci/release/changelogs/next.md @@ -23,6 +23,7 @@ - Code snippets use bold and italic font styles as determined by highlighter [#710](https://github.com/terrastruct/d2/issues/710), [#741](https://github.com/terrastruct/d2/issues/741) - Reduces default padding of shapes. [#702](https://github.com/terrastruct/d2/pull/702) - Ensures labels fit inside shapes with shape-specific inner bounding boxes. [#702](https://github.com/terrastruct/d2/pull/702) +- dagre container labels changed positions to outside the shape. Many previously obscured container labels are now legible. [#788](https://github.com/terrastruct/d2/pull/788) - Improves package shape dimensions with short height. [#702](https://github.com/terrastruct/d2/pull/702) - Keeps person shape from becoming too distorted. [#702](https://github.com/terrastruct/d2/pull/702) - Ensures shapes with icons have enough padding for their labels. [#702](https://github.com/terrastruct/d2/pull/702) diff --git a/ci/release/docker/build.sh b/ci/release/docker/build.sh index 0f7475d4f..2b3477e24 100755 --- a/ci/release/docker/build.sh +++ b/ci/release/docker/build.sh @@ -6,7 +6,7 @@ cd -- "$(dirname "$0")/../../.." help() { cat < 0 { + height += float64(*obj.LabelHeight) + label.PADDING + } } loadScript += generateAddNodeLine(id, int(obj.Width), int(height)) if obj.Parent != g.Root { @@ -251,6 +264,105 @@ func Layout(ctx context.Context, g *d2graph.Graph, opts *ConfigurableOpts) (err } } } + points = points[startIndex : endIndex+1] + points[0] = start + points[len(points)-1] = end + + edge.Route = points + } + + for _, obj := range g.Objects { + if obj.LabelHeight == nil || len(obj.ChildrenArray) <= 0 { + continue + } + + // usually you don't want to take away here more than what was added, which is the label height + // however, if the label height is more than the ranksep/2, we'll have no padding around children anymore + // so cap the amount taken off at ranksep/2 + subtract := float64(go2.Min(rootAttrs.ranksep/2, *obj.LabelHeight+label.PADDING)) + + obj.Height -= subtract + + // If the edge is connected to two descendants that are about to be downshifted, their whole route gets downshifted + movedEdges := make(map[*d2graph.Edge]struct{}) + for _, e := range g.Edges { + currSrc := e.Src + currDst := e.Dst + + isSrcDesc := false + isDstDesc := false + + for currSrc != nil { + if currSrc == obj { + isSrcDesc = true + break + } + currSrc = currSrc.Parent + } + for currDst != nil { + if currDst == obj { + isDstDesc = true + break + } + currDst = currDst.Parent + } + if isSrcDesc && isDstDesc { + stepSize := subtract + if e.Src != obj || e.Dst != obj { + stepSize /= 2. + } + movedEdges[e] = struct{}{} + for _, p := range e.Route { + p.Y += stepSize + } + } + } + + // Downshift descendents and edges that have one endpoint connected to a descendant + q := []*d2graph.Object{obj} + for len(q) > 0 { + curr := q[0] + q = q[1:] + + stepSize := subtract + // The object itself needs to move down the height it was just subtracted + // all descendents move half, to maintain vertical padding + if curr != obj { + stepSize /= 2. + } + curr.TopLeft.Y += stepSize + shouldMove := func(p *geo.Point) bool { + if curr != obj { + return true + } + // Edge should only move if it's not connected to the bottom side of the shrinking container + return p.Y != obj.TopLeft.Y+obj.Height + } + for _, e := range g.Edges { + if _, ok := movedEdges[e]; ok { + continue + } + if e.Src == curr { + if shouldMove(e.Route[0]) { + e.Route[0].Y += stepSize + } + } + if e.Dst == curr { + if shouldMove(e.Route[len(e.Route)-1]) { + e.Route[len(e.Route)-1].Y += stepSize + } + } + } + for _, c := range curr.ChildrenArray { + q = append(q, c) + } + } + } + + for _, edge := range g.Edges { + points := edge.Route + startIndex, endIndex := 0, len(points)-1 + start, end := points[startIndex], points[endIndex] // arrowheads can appear broken if segments are very short from dagre routing a point just outside the shape // to fix this, we try extending the previous segment into the shape instead of having a very short segment diff --git a/d2renderers/d2sketch/testdata/animated/sketch.exp.svg b/d2renderers/d2sketch/testdata/animated/sketch.exp.svg index 95f53c194..3dcf5a0d5 100644 --- a/d2renderers/d2sketch/testdata/animated/sketch.exp.svg +++ b/d2renderers/d2sketch/testdata/animated/sketch.exp.svg @@ -3,7 +3,13 @@ id="d2-svg" style="background: white;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" +<<<<<<< HEAD width="406" height="684" viewBox="-102 -144 406 684">aabbllmmnnoocciikkddgghhjjeeff1122 334455667788 @@ -806,6 +813,29 @@ width="845" height="1364" viewBox="-102 -141 845 1364">aabbllmmnnoocciikkddgghhjjeeff1122 334455667788 + + + + + + + + + +======= +aabbllmmnnoocciikkddgghhjjeeff1122 334455667788 + + + + + + + + + +>>>>>>> master ninety ninesixty fourthirty twosixteeneight + + + \ No newline at end of file diff --git a/e2etests/testdata/stable/font_sizes_containers_large/elk/board.exp.json b/e2etests/testdata/stable/font_sizes_containers_large/elk/board.exp.json new file mode 100644 index 000000000..dcdae1536 --- /dev/null +++ b/e2etests/testdata/stable/font_sizes_containers_large/elk/board.exp.json @@ -0,0 +1,212 @@ +{ + "name": "", + "fontFamily": "SourceSansPro", + "shapes": [ + { + "id": "ninety nine", + "type": "rectangle", + "pos": { + "x": 12, + "y": 12 + }, + "width": 664, + "height": 656, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#E3E9FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "ninety nine", + "fontSize": 99, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 452, + "labelHeight": 125, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "ninety nine.sixty four", + "type": "rectangle", + "pos": { + "x": 87, + "y": 87 + }, + "width": 514, + "height": 506, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "sixty four", + "fontSize": 64, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 246, + "labelHeight": 81, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "ninety nine.sixty four.thirty two", + "type": "rectangle", + "pos": { + "x": 162, + "y": 162 + }, + "width": 364, + "height": 356, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#F7F8FE", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "thirty two", + "fontSize": 32, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 130, + "labelHeight": 41, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 3 + }, + { + "id": "ninety nine.sixty four.thirty two.sixteen", + "type": "rectangle", + "pos": { + "x": 237, + "y": 237 + }, + "width": 214, + "height": 206, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#FFFFFF", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "sixteen", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 48, + "labelHeight": 21, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 4 + }, + { + "id": "ninety nine.sixty four.thirty two.sixteen.eight", + "type": "rectangle", + "pos": { + "x": 312, + "y": 312 + }, + "width": 64, + "height": 56, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#FFFFFF", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "eight", + "fontSize": 8, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 19, + "labelHeight": 11, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 5 + } + ], + "connections": [] +} diff --git a/e2etests/testdata/stable/font_sizes_containers_large/elk/sketch.exp.svg b/e2etests/testdata/stable/font_sizes_containers_large/elk/sketch.exp.svg new file mode 100644 index 000000000..1fe80d81c --- /dev/null +++ b/e2etests/testdata/stable/font_sizes_containers_large/elk/sketch.exp.svg @@ -0,0 +1,59 @@ + +ninety ninesixty fourthirty twosixteeneight + + + \ No newline at end of file diff --git a/e2etests/testdata/stable/investigate/dagre/board.exp.json b/e2etests/testdata/stable/investigate/dagre/board.exp.json index 6397d21b2..0a748f6e1 100644 --- a/e2etests/testdata/stable/investigate/dagre/board.exp.json +++ b/e2etests/testdata/stable/investigate/dagre/board.exp.json @@ -130,10 +130,24 @@ "type": "rectangle", "pos": { "x": 9, +<<<<<<< HEAD "y": 525 +||||||| 749d236a + "y": 645 +======= + "y": 686 +>>>>>>> master }, +<<<<<<< HEAD "width": 320, "height": 152, +||||||| 749d236a + "width": 430, + "height": 192, +======= + "width": 430, + "height": 151, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -170,8 +184,16 @@ "id": "dd.ee", "type": "diamond", "pos": { +<<<<<<< HEAD "x": 39, "y": 555 +||||||| 749d236a + "x": 59, + "y": 695 +======= + "x": 59, + "y": 715 +>>>>>>> master }, "width": 64, "height": 92, @@ -212,10 +234,24 @@ "type": "rectangle", "pos": { "x": 0, +<<<<<<< HEAD "y": 1455 +||||||| 749d236a + "y": 1895 +======= + "y": 1936 +>>>>>>> master }, +<<<<<<< HEAD "width": 339, "height": 293, +||||||| 749d236a + "width": 459, + "height": 373, +======= + "width": 459, + "height": 332, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -252,8 +288,16 @@ "id": "ff.gg", "type": "diamond", "pos": { +<<<<<<< HEAD "x": 213, "y": 1485 +||||||| 749d236a + "x": 303, + "y": 1945 +======= + "x": 303, + "y": 1965 +>>>>>>> master }, "width": 66, "height": 92, @@ -293,8 +337,16 @@ "id": "dd.hh", "type": "diamond", "pos": { +<<<<<<< HEAD "x": 233, "y": 555 +||||||| 749d236a + "x": 323, + "y": 695 +======= + "x": 323, + "y": 715 +>>>>>>> master }, "width": 66, "height": 92, @@ -458,10 +510,24 @@ "type": "rectangle", "pos": { "x": 0, +<<<<<<< HEAD "y": 1808 +||||||| 749d236a + "y": 2368 +======= + "y": 2409 +>>>>>>> master }, +<<<<<<< HEAD "width": 307, "height": 267, +||||||| 749d236a + "width": 417, + "height": 347, +======= + "width": 417, + "height": 306, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -498,8 +564,16 @@ "id": "ll.mm", "type": "oval", "pos": { +<<<<<<< HEAD "x": 30, "y": 1964 +||||||| 749d236a + "x": 50, + "y": 2584 +======= + "x": 50, + "y": 2604 +>>>>>>> master }, "width": 81, "height": 81, @@ -539,8 +613,16 @@ "id": "ff.mm", "type": "oval", "pos": { +<<<<<<< HEAD "x": 30, "y": 1637 +||||||| 749d236a + "x": 50, + "y": 2137 +======= + "x": 50, + "y": 2157 +>>>>>>> master }, "width": 81, "height": 81, @@ -581,10 +663,24 @@ "type": "cylinder", "pos": { "x": 9, +<<<<<<< HEAD "y": 2520 +||||||| 749d236a + "y": 3320 +======= + "y": 3361 +>>>>>>> master }, +<<<<<<< HEAD "width": 409, "height": 126, +||||||| 749d236a + "width": 571, + "height": 166, +======= + "width": 571, + "height": 125, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -621,8 +717,16 @@ "id": "nn.oo", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 39, "y": 2550 +||||||| 749d236a + "x": 59, + "y": 3370 +======= + "x": 59, + "y": 3390 +>>>>>>> master }, "width": 63, "height": 66, @@ -662,8 +766,16 @@ "id": "ff.pp", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 214, "y": 1645 +||||||| 749d236a + "x": 304, + "y": 2145 +======= + "x": 304, + "y": 2165 +>>>>>>> master }, "width": 63, "height": 66, @@ -703,8 +815,16 @@ "id": "ll.qq", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 214, "y": 1838 +||||||| 749d236a + "x": 304, + "y": 2418 +======= + "x": 304, + "y": 2438 +>>>>>>> master }, "width": 64, "height": 66, @@ -744,8 +864,16 @@ "id": "ll.rr", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 217, "y": 1972 +||||||| 749d236a + "x": 307, + "y": 2592 +======= + "x": 307, + "y": 2612 +>>>>>>> master }, "width": 58, "height": 66, @@ -785,11 +913,27 @@ "id": "ss", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 342, "y": 884 +||||||| 749d236a + "x": 463, + "y": 1124 +======= + "x": 463, + "y": 1165 +>>>>>>> master }, +<<<<<<< HEAD "width": 118, "height": 126, +||||||| 749d236a + "width": 159, + "height": 166, +======= + "width": 159, + "height": 125, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -826,8 +970,16 @@ "id": "ss.tt", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 372, "y": 914 +||||||| 749d236a + "x": 514, + "y": 1174 +======= + "x": 514, + "y": 1194 +>>>>>>> master }, "width": 58, "height": 66, @@ -867,11 +1019,27 @@ "id": "uu", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 339, "y": 1070 +||||||| 749d236a + "x": 461, + "y": 1390 +======= + "x": 461, + "y": 1431 +>>>>>>> master }, +<<<<<<< HEAD "width": 123, "height": 126, +||||||| 749d236a + "width": 163, + "height": 166, +======= + "width": 163, + "height": 125, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -908,8 +1076,16 @@ "id": "uu.vv", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 369, "y": 1100 +||||||| 749d236a + "x": 511, + "y": 1440 +======= + "x": 511, + "y": 1460 +>>>>>>> master }, "width": 63, "height": 66, @@ -1042,8 +1218,16 @@ "id": "nn.xx", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 175, "y": 2550 +||||||| 749d236a + "x": 246, + "y": 3370 +======= + "x": 246, + "y": 3390 +>>>>>>> master }, "width": 62, "height": 66, @@ -1083,11 +1267,27 @@ "id": "yy", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 226, "y": 2135 +||||||| 749d236a + "x": 317, + "y": 2815 +======= + "x": 317, + "y": 2856 +>>>>>>> master }, +<<<<<<< HEAD "width": 240, "height": 325, +||||||| 749d236a + "width": 321, + "height": 405, +======= + "width": 321, + "height": 364, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -1124,8 +1324,16 @@ "id": "yy.zz", "type": "queue", "pos": { +<<<<<<< HEAD "x": 288, "y": 2165 +||||||| 749d236a + "x": 430, + "y": 2865 +======= + "x": 430, + "y": 2885 +>>>>>>> master }, "width": 138, "height": 118, @@ -1176,8 +1384,16 @@ "id": "yy.ab", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 326, "y": 2364 +||||||| 749d236a + "x": 468, + "y": 3104 +======= + "x": 468, + "y": 3124 +>>>>>>> master }, "width": 63, "height": 66, @@ -1217,8 +1433,16 @@ "id": "nn.ac", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 326, "y": 2550 +||||||| 749d236a + "x": 468, + "y": 3370 +======= + "x": 468, + "y": 3390 +>>>>>>> master }, "width": 62, "height": 66, @@ -1475,12 +1699,28 @@ "y": 466.3 }, { +<<<<<<< HEAD "x": 70.6, "y": 531 +||||||| 749d236a + "x": 90.6, + "y": 655 +======= + "x": 90.6, + "y": 659.2 +>>>>>>> master }, { +<<<<<<< HEAD "x": 71, "y": 555 +||||||| 749d236a + "x": 91, + "y": 695 +======= + "x": 91, + "y": 716 +>>>>>>> master } ], "isCurve": true, @@ -1739,12 +1979,28 @@ "y": 1394.6 }, { +<<<<<<< HEAD "x": 203.8, "y": 1465.2 +||||||| 749d236a + "x": 270.6, + "y": 1909.8 +======= + "x": 270.2, + "y": 1914.6 +>>>>>>> master }, { +<<<<<<< HEAD "x": 230, "y": 1506 +||||||| 749d236a + "x": 318, + "y": 1969 +======= + "x": 316, + "y": 1993 +>>>>>>> master } ], "isCurve": true, @@ -1787,12 +2043,28 @@ "y": 476.4 }, { +<<<<<<< HEAD "x": 266.2, "y": 531 +||||||| 749d236a + "x": 356.2, + "y": 655 +======= + "x": 356.2, + "y": 659.2 +>>>>>>> master }, { +<<<<<<< HEAD "x": 266, "y": 555 +||||||| 749d236a + "x": 356, + "y": 695 +======= + "x": 356, + "y": 716 +>>>>>>> master } ], "isCurve": true, @@ -1827,12 +2099,28 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 71, "y": 647 +||||||| 749d236a + "x": 91, + "y": 787 +======= + "x": 91, + "y": 808 +>>>>>>> master }, { +<<<<<<< HEAD "x": 70.6, "y": 671 +||||||| 749d236a + "x": 90.6, + "y": 827 +======= + "x": 90.6, + "y": 831.2 +>>>>>>> master }, { "x": 70.5, @@ -2051,12 +2339,28 @@ "y": 1515.8 }, { +<<<<<<< HEAD "x": 70.6, "y": 1613 +||||||| 749d236a + "x": 90.6, + "y": 2097 +======= + "x": 90.6, + "y": 2101.2 +>>>>>>> master }, { +<<<<<<< HEAD "x": 71, "y": 1637 +||||||| 749d236a + "x": 91, + "y": 2137 +======= + "x": 91, + "y": 2158 +>>>>>>> master } ], "isCurve": true, @@ -2091,12 +2395,28 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 71, "y": 1718 +||||||| 749d236a + "x": 91, + "y": 2218 +======= + "x": 91, + "y": 2239 +>>>>>>> master }, { +<<<<<<< HEAD "x": 70.6, "y": 1742 +||||||| 749d236a + "x": 90.6, + "y": 2258 +======= + "x": 90.6, + "y": 2262.2 +>>>>>>> master }, { "x": 70.5, @@ -2135,12 +2455,28 @@ "y": 1858.4 }, { +<<<<<<< HEAD "x": 70.6, "y": 1940 +||||||| 749d236a + "x": 90.6, + "y": 2544 +======= + "x": 90.6, + "y": 2548.2 +>>>>>>> master }, { +<<<<<<< HEAD "x": 71, "y": 1964 +||||||| 749d236a + "x": 91, + "y": 2584 +======= + "x": 91, + "y": 2605 +>>>>>>> master } ], "isCurve": true, @@ -2175,12 +2511,28 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 71, "y": 2045 +||||||| 749d236a + "x": 91, + "y": 2665 +======= + "x": 91, + "y": 2686 +>>>>>>> master }, { +<<<<<<< HEAD "x": 70.6, "y": 2069 +||||||| 749d236a + "x": 90.6, + "y": 2705 +======= + "x": 90.6, + "y": 2709.2 +>>>>>>> master }, { "x": 70.5, @@ -2267,12 +2619,28 @@ "y": 2484 }, { +<<<<<<< HEAD "x": 70.5, "y": 2526 +||||||| 749d236a + "x": 90.5, + "y": 3330 +======= + "x": 90.5, + "y": 3334.1 +>>>>>>> master }, { +<<<<<<< HEAD "x": 70.5, "y": 2550 +||||||| 749d236a + "x": 90.5, + "y": 3370 +======= + "x": 90.5, + "y": 3390.5 +>>>>>>> master } ], "isCurve": true, @@ -2307,20 +2675,52 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 246, "y": 1577 +||||||| 749d236a + "x": 336, + "y": 2037 +======= + "x": 336, + "y": 2058 +>>>>>>> master }, { +<<<<<<< HEAD "x": 245.8, "y": 1601 +||||||| 749d236a + "x": 335.8, + "y": 2077 +======= + "x": 335.8, + "y": 2097.6 +>>>>>>> master }, { +<<<<<<< HEAD "x": 245.75, "y": 1614.5 +||||||| 749d236a + "x": 335.75, + "y": 2098.5 +======= + "x": 335.75, + "y": 2119 +>>>>>>> master }, { +<<<<<<< HEAD "x": 245.75, "y": 1644.5 +||||||| 749d236a + "x": 335.75, + "y": 2144.5 +======= + "x": 335.75, + "y": 2165 +>>>>>>> master } ], "isCurve": true, @@ -2355,12 +2755,28 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 245.75, "y": 1711.5 +||||||| 749d236a + "x": 335.75, + "y": 2211.5 +======= + "x": 335.75, + "y": 2232 +>>>>>>> master }, { +<<<<<<< HEAD "x": 245.75, "y": 1740.7 +||||||| 749d236a + "x": 335.75, + "y": 2256.7 +======= + "x": 335.75, + "y": 2260.8 +>>>>>>> master }, { "x": 245.75, @@ -2375,12 +2791,28 @@ "y": 1772 }, { +<<<<<<< HEAD "x": 245.75, "y": 1814 +||||||| 749d236a + "x": 335.75, + "y": 2378 +======= + "x": 335.75, + "y": 2382.1 +>>>>>>> master }, { +<<<<<<< HEAD "x": 245.75, "y": 1838 +||||||| 749d236a + "x": 335.75, + "y": 2418 +======= + "x": 335.75, + "y": 2438.5 +>>>>>>> master } ], "isCurve": true, @@ -2415,20 +2847,52 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 245.75, "y": 1904 +||||||| 749d236a + "x": 335.75, + "y": 2484 +======= + "x": 335.75, + "y": 2504.5 +>>>>>>> master }, { +<<<<<<< HEAD "x": 245.75, "y": 1928 +||||||| 749d236a + "x": 335.75, + "y": 2524 +======= + "x": 335.75, + "y": 2544.5 +>>>>>>> master }, { +<<<<<<< HEAD "x": 245.75, "y": 1941.5 +||||||| 749d236a + "x": 335.75, + "y": 2545.5 +======= + "x": 335.75, + "y": 2566 +>>>>>>> master }, { +<<<<<<< HEAD "x": 245.75, "y": 1971.5 +||||||| 749d236a + "x": 335.75, + "y": 2591.5 +======= + "x": 335.75, + "y": 2612 +>>>>>>> master } ], "isCurve": true, @@ -2463,12 +2927,28 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 266, "y": 647 +||||||| 749d236a + "x": 356, + "y": 787 +======= + "x": 356, + "y": 807 +>>>>>>> master }, { +<<<<<<< HEAD "x": 266.2, "y": 671 +||||||| 749d236a + "x": 356.2, + "y": 827 +======= + "x": 356.2, + "y": 831 +>>>>>>> master }, { "x": 293.15, @@ -2507,12 +2987,28 @@ "y": 828.8 }, { +<<<<<<< HEAD "x": 400.75, "y": 890 +||||||| 749d236a + "x": 542.75, + "y": 1134 +======= + "x": 542.75, + "y": 1138.1 +>>>>>>> master }, { +<<<<<<< HEAD "x": 400.75, "y": 914 +||||||| 749d236a + "x": 542.75, + "y": 1174 +======= + "x": 542.75, + "y": 1194.5 +>>>>>>> master } ], "isCurve": true, @@ -2547,12 +3043,28 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 400.75, "y": 980 +||||||| 749d236a + "x": 542.75, + "y": 1240 +======= + "x": 542.75, + "y": 1260.5 +>>>>>>> master }, { +<<<<<<< HEAD "x": 400.75, "y": 1004 +||||||| 749d236a + "x": 542.75, + "y": 1280 +======= + "x": 542.75, + "y": 1284.1 +>>>>>>> master }, { "x": 400.75, @@ -2567,12 +3079,28 @@ "y": 1034 }, { +<<<<<<< HEAD "x": 400.75, "y": 1076 +||||||| 749d236a + "x": 542.75, + "y": 1400 +======= + "x": 542.75, + "y": 1404.1 +>>>>>>> master }, { +<<<<<<< HEAD "x": 400.75, "y": 1100 +||||||| 749d236a + "x": 542.75, + "y": 1440 +======= + "x": 542.75, + "y": 1460.5 +>>>>>>> master } ], "isCurve": true, @@ -2655,12 +3183,28 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 400.75, "y": 1166 +||||||| 749d236a + "x": 542.75, + "y": 1506 +======= + "x": 542.75, + "y": 1526.5 +>>>>>>> master }, { +<<<<<<< HEAD "x": 400.75, "y": 1190 +||||||| 749d236a + "x": 542.75, + "y": 1546 +======= + "x": 542.75, + "y": 1550.1 +>>>>>>> master }, { "x": 398, @@ -2939,12 +3483,28 @@ "y": 2484 }, { +<<<<<<< HEAD "x": 205.5, "y": 2526 +||||||| 749d236a + "x": 277, + "y": 3330 +======= + "x": 277, + "y": 3334.1 +>>>>>>> master }, { +<<<<<<< HEAD "x": 205.5, "y": 2550 +||||||| 749d236a + "x": 277, + "y": 3370 +======= + "x": 277, + "y": 3390.5 +>>>>>>> master } ], "isCurve": true, @@ -2979,12 +3539,28 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 245.75, "y": 2038.5 +||||||| 749d236a + "x": 335.75, + "y": 2658.5 +======= + "x": 335.75, + "y": 2679 +>>>>>>> master }, { +<<<<<<< HEAD "x": 245.75, "y": 2067.7 +||||||| 749d236a + "x": 335.75, + "y": 2703.7 +======= + "x": 335.75, + "y": 2707.8 +>>>>>>> master }, { "x": 255.6, @@ -2999,12 +3575,28 @@ "y": 2099 }, { +<<<<<<< HEAD "x": 299.2, "y": 2141 +||||||| 749d236a + "x": 424.2, + "y": 2825 +======= + "x": 424.2, + "y": 2829.2 +>>>>>>> master }, { +<<<<<<< HEAD "x": 316, "y": 2165 +||||||| 749d236a + "x": 455, + "y": 2865 +======= + "x": 455, + "y": 2886 +>>>>>>> master } ], "isCurve": true, @@ -3059,12 +3651,28 @@ "y": 2099 }, { +<<<<<<< HEAD "x": 403.4, "y": 2141 +||||||| 749d236a + "x": 553.4, + "y": 2825 +======= + "x": 553.4, + "y": 2829.2 +>>>>>>> master }, { +<<<<<<< HEAD "x": 390, "y": 2165 +||||||| 749d236a + "x": 532, + "y": 2865 +======= + "x": 532, + "y": 2886 +>>>>>>> master } ], "isCurve": true, @@ -3099,20 +3707,52 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 357, "y": 2283 +||||||| 749d236a + "x": 499, + "y": 2983 +======= + "x": 499, + "y": 3004 +>>>>>>> master }, { +<<<<<<< HEAD "x": 357, "y": 2315.4 +||||||| 749d236a + "x": 499, + "y": 3031.4 +======= + "x": 499, + "y": 3052 +>>>>>>> master }, { +<<<<<<< HEAD "x": 357, "y": 2331.7 +||||||| 749d236a + "x": 499, + "y": 3055.7 +======= + "x": 499, + "y": 3076.2 +>>>>>>> master }, { +<<<<<<< HEAD "x": 357, "y": 2364.5 +||||||| 749d236a + "x": 499, + "y": 3104.5 +======= + "x": 499, + "y": 3125 +>>>>>>> master } ], "isCurve": true, @@ -3147,12 +3787,28 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 357, "y": 2430 +||||||| 749d236a + "x": 499, + "y": 3170 +======= + "x": 499, + "y": 3190.5 +>>>>>>> master }, { +<<<<<<< HEAD "x": 357, "y": 2454 +||||||| 749d236a + "x": 499, + "y": 3210 +======= + "x": 499, + "y": 3214.1 +>>>>>>> master }, { "x": 357, @@ -3167,12 +3823,28 @@ "y": 2484 }, { +<<<<<<< HEAD "x": 357, "y": 2526 +||||||| 749d236a + "x": 499, + "y": 3330 +======= + "x": 499, + "y": 3334.1 +>>>>>>> master }, { +<<<<<<< HEAD "x": 357, "y": 2550 +||||||| 749d236a + "x": 499, + "y": 3370 +======= + "x": 499, + "y": 3390.5 +>>>>>>> master } ], "isCurve": true, @@ -3207,12 +3879,28 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 357, "y": 2616 +||||||| 749d236a + "x": 499, + "y": 3436 +======= + "x": 499, + "y": 3456.5 +>>>>>>> master }, { +<<<<<<< HEAD "x": 357, "y": 2640 +||||||| 749d236a + "x": 499, + "y": 3476 +======= + "x": 499, + "y": 3480.1 +>>>>>>> master }, { "x": 357, @@ -3263,12 +3951,28 @@ "y": 1406.4 }, { +<<<<<<< HEAD "x": 290.8, "y": 1465.4 +||||||| 749d236a + "x": 388.8, + "y": 1909.4 +======= + "x": 389.2, + "y": 1914.4 +>>>>>>> master }, { +<<<<<<< HEAD "x": 262, "y": 1507 +||||||| 749d236a + "x": 352, + "y": 1967 +======= + "x": 354, + "y": 1992 +>>>>>>> master } ], "isCurve": true, diff --git a/e2etests/testdata/stable/investigate/dagre/sketch.exp.svg b/e2etests/testdata/stable/investigate/dagre/sketch.exp.svg index e8217a57b..2bd199553 100644 --- a/e2etests/testdata/stable/investigate/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/investigate/dagre/sketch.exp.svg @@ -39,6 +39,7 @@ width="670" height="2976" viewBox="-102 -102 670 2976">container

they did it in style

a header

+||||||| 749d236a +container

they did it in style

+

a header

+======= +container

they did it in style

+

a header

+>>>>>>> master

a line of text and an

{
 	indented: "block",
@@ -805,8 +819,16 @@ width="476" height="645" viewBox="-102 -141 476 645">markdown

Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+||||||| 749d236a +markdown

Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+======= +markdown

Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+>>>>>>> master sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+<<<<<<< HEAD
+||||||| 749d236a +
+ +======= +
+ +>>>>>>> master markdown

Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+||||||| 749d236a +markdown

Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+======= +markdown

Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+>>>>>>> master sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+<<<<<<< HEAD
+||||||| 749d236a +
+ +======= +
+ +>>>>>>> master abcd + + + \ No newline at end of file diff --git a/e2etests/testdata/todo/child_parent_edges/elk/board.exp.json b/e2etests/testdata/todo/child_parent_edges/elk/board.exp.json new file mode 100644 index 000000000..987db0ad6 --- /dev/null +++ b/e2etests/testdata/todo/child_parent_edges/elk/board.exp.json @@ -0,0 +1,297 @@ +{ + "name": "", + "fontFamily": "SourceSansPro", + "shapes": [ + { + "id": "a", + "type": "rectangle", + "pos": { + "x": 12, + "y": 12 + }, + "width": 514, + "height": 621, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#E3E9FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "a", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 12, + "labelHeight": 36, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "a.b", + "type": "rectangle", + "pos": { + "x": 87, + "y": 87 + }, + "width": 364, + "height": 471, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "b", + "fontSize": 24, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 12, + "labelHeight": 31, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "a.b.c", + "type": "rectangle", + "pos": { + "x": 172, + "y": 162 + }, + "width": 204, + "height": 216, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#F7F8FE", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "c", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 9, + "labelHeight": 26, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 3 + }, + { + "id": "a.b.c.d", + "type": "rectangle", + "pos": { + "x": 247, + "y": 237 + }, + "width": 54, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#FFFFFF", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "d", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 9, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 4 + } + ], + "connections": [ + { + "id": "(a.b -> a)[0]", + "src": "a.b", + "srcArrow": "none", + "srcLabel": "", + "dst": "a", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "labelPosition": "", + "labelPercentage": 0, + "route": [ + { + "x": 162, + "y": 558 + }, + { + "x": 162, + "y": 633 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "a.(b -> b.c)[0]", + "src": "a.b", + "srcArrow": "none", + "srcLabel": "", + "dst": "a.b.c", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "labelPosition": "", + "labelPercentage": 0, + "route": [ + { + "x": 247, + "y": 87 + }, + { + "x": 247, + "y": 162 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "a.(b.c.d -> b)[0]", + "src": "a.b.c.d", + "srcArrow": "none", + "srcLabel": "", + "dst": "a.b", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "labelPosition": "", + "labelPercentage": 0, + "route": [ + { + "x": 274, + "y": 303 + }, + { + "x": 274, + "y": 433 + }, + { + "x": 162, + "y": 433 + }, + { + "x": 162, + "y": 87 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ] +} diff --git a/e2etests/testdata/todo/child_parent_edges/elk/sketch.exp.svg b/e2etests/testdata/todo/child_parent_edges/elk/sketch.exp.svg new file mode 100644 index 000000000..0a488aa47 --- /dev/null +++ b/e2etests/testdata/todo/child_parent_edges/elk/sketch.exp.svg @@ -0,0 +1,59 @@ + +abcd + + + \ No newline at end of file diff --git a/e2etests/testdata/todo/container_child_edge/dagre/board.exp.json b/e2etests/testdata/todo/container_child_edge/dagre/board.exp.json index a50df3d85..8a6454ede 100644 --- a/e2etests/testdata/todo/container_child_edge/dagre/board.exp.json +++ b/e2etests/testdata/todo/container_child_edge/dagre/board.exp.json @@ -7,10 +7,18 @@ "type": "rectangle", "pos": { "x": 0, - "y": 0 + "y": 41 }, +<<<<<<< HEAD "width": 160, "height": 273, +||||||| 749d236a + "width": 220, + "height": 353, +======= + "width": 220, + "height": 312, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -47,8 +55,16 @@ "id": "container.first", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 43, "y": 30 +||||||| 749d236a + "x": 73, + "y": 50 +======= + "x": 73, + "y": 70 +>>>>>>> master }, "width": 75, "height": 66, @@ -88,8 +104,16 @@ "id": "container.second", "type": "rectangle", "pos": { +<<<<<<< HEAD "x": 33, "y": 177 +||||||| 749d236a + "x": 63, + "y": 237 +======= + "x": 63, + "y": 257 +>>>>>>> master }, "width": 95, "height": 66, @@ -153,20 +177,52 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 69.36224489795919, "y": 96 +||||||| 749d236a + "x": 98.16176470588235, + "y": 116 +======= + "x": 98.16176470588235, + "y": 136.5 +>>>>>>> master }, { +<<<<<<< HEAD "x": 58.672448979591834, "y": 128.4 +||||||| 749d236a + "x": 80.43235294117648, + "y": 164.4 +======= + "x": 80.43235294117648, + "y": 184.9 +>>>>>>> master }, { +<<<<<<< HEAD "x": 58.6, "y": 144.7 +||||||| 749d236a + "x": 80.4, + "y": 188.7 +======= + "x": 80.4, + "y": 209.2 +>>>>>>> master }, { +<<<<<<< HEAD "x": 69, "y": 177.5 +||||||| 749d236a + "x": 98, + "y": 237.5 +======= + "x": 98, + "y": 258 +>>>>>>> master } ], "isCurve": true, @@ -201,20 +257,52 @@ "labelPercentage": 0, "route": [ { +<<<<<<< HEAD "x": 91.13775510204081, "y": 96 +||||||| 749d236a + "x": 122.33823529411765, + "y": 116 +======= + "x": 122.33823529411765, + "y": 136.5 +>>>>>>> master }, { +<<<<<<< HEAD "x": 101.82755102040817, "y": 128.4 +||||||| 749d236a + "x": 140.06764705882352, + "y": 164.4 +======= + "x": 140.06764705882352, + "y": 184.9 +>>>>>>> master }, { +<<<<<<< HEAD "x": 101.9, "y": 144.7 +||||||| 749d236a + "x": 140.1, + "y": 188.7 +======= + "x": 140.1, + "y": 209.2 +>>>>>>> master }, { +<<<<<<< HEAD "x": 91.5, "y": 177.5 +||||||| 749d236a + "x": 122.5, + "y": 237.5 +======= + "x": 122.5, + "y": 258 +>>>>>>> master } ], "isCurve": true, diff --git a/e2etests/testdata/todo/container_child_edge/dagre/sketch.exp.svg b/e2etests/testdata/todo/container_child_edge/dagre/sketch.exp.svg index e88ad04d9..655a58bac 100644 --- a/e2etests/testdata/todo/container_child_edge/dagre/sketch.exp.svg +++ b/e2etests/testdata/todo/container_child_edge/dagre/sketch.exp.svg @@ -3,7 +3,13 @@ id="d2-svg" style="background: white;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" +<<<<<<< HEAD width="364" height="516" viewBox="-102 -141 364 516">Big fontabca + + + \ No newline at end of file diff --git a/e2etests/testdata/todo/container_icon_label/elk/board.exp.json b/e2etests/testdata/todo/container_icon_label/elk/board.exp.json new file mode 100644 index 000000000..d1347e8a9 --- /dev/null +++ b/e2etests/testdata/todo/container_icon_label/elk/board.exp.json @@ -0,0 +1,302 @@ +{ + "name": "", + "fontFamily": "SourceSansPro", + "shapes": [ + { + "id": "a", + "type": "rectangle", + "pos": { + "x": 12, + "y": 12 + }, + "width": 353, + "height": 698, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#E3E9FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": { + "Scheme": "https", + "Opaque": "", + "User": null, + "Host": "icons.terrastruct.com", + "Path": "/essentials/004-picture.svg", + "RawPath": "", + "ForceQuery": false, + "RawQuery": "", + "Fragment": "", + "RawFragment": "" + }, + "iconPosition": "INSIDE_MIDDLE_CENTER", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "Big font", + "fontSize": 30, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 96, + "labelHeight": 38, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "a.a", + "type": "rectangle", + "pos": { + "x": 87, + "y": 87 + }, + "width": 203, + "height": 216, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "a", + "fontSize": 24, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 10, + "labelHeight": 31, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "a.b", + "type": "rectangle", + "pos": { + "x": 162, + "y": 403 + }, + "width": 53, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "b", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 8, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "a.c", + "type": "rectangle", + "pos": { + "x": 162, + "y": 569 + }, + "width": 53, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "c", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 8, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "a.a.a", + "type": "rectangle", + "pos": { + "x": 162, + "y": 162 + }, + "width": 53, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#F7F8FE", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "a", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 8, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 3 + } + ], + "connections": [ + { + "id": "a.(a -> b)[0]", + "src": "a.a", + "srcArrow": "none", + "srcLabel": "", + "dst": "a.b", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "labelPosition": "", + "labelPercentage": 0, + "route": [ + { + "x": 188.5, + "y": 303 + }, + { + "x": 188.5, + "y": 403 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "a.(b -> c)[0]", + "src": "a.b", + "srcArrow": "none", + "srcLabel": "", + "dst": "a.c", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "labelPosition": "", + "labelPercentage": 0, + "route": [ + { + "x": 188.5, + "y": 469 + }, + { + "x": 188.5, + "y": 569 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ] +} diff --git a/e2etests/testdata/todo/container_icon_label/elk/sketch.exp.svg b/e2etests/testdata/todo/container_icon_label/elk/sketch.exp.svg new file mode 100644 index 000000000..c37c34e2e --- /dev/null +++ b/e2etests/testdata/todo/container_icon_label/elk/sketch.exp.svg @@ -0,0 +1,59 @@ + +Big fontabca + + + \ No newline at end of file diff --git a/e2etests/testdata/todo/container_label_loop/dagre/board.exp.json b/e2etests/testdata/todo/container_label_loop/dagre/board.exp.json new file mode 100644 index 000000000..8877ccf79 --- /dev/null +++ b/e2etests/testdata/todo/container_label_loop/dagre/board.exp.json @@ -0,0 +1,263 @@ +{ + "name": "", + "fontFamily": "SourceSansPro", + "shapes": [ + { + "id": "a", + "type": "rectangle", + "pos": { + "x": 0, + "y": 41 + }, + "width": 193, + "height": 291, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#E3E9FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "If we were meant to fly, we wouldn't keep losing our luggage", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 702, + "labelHeight": 36, + "labelPosition": "OUTSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "a.b", + "type": "rectangle", + "pos": { + "x": 50, + "y": 70 + }, + "width": 53, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "b", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 8, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "a.c", + "type": "rectangle", + "pos": { + "x": 50, + "y": 236 + }, + "width": 53, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "c", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 8, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + } + ], + "connections": [ + { + "id": "a.(b -> c)[0]", + "src": "a.b", + "srcArrow": "none", + "srcLabel": "", + "dst": "a.c", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "labelPosition": "", + "labelPercentage": 0, + "route": [ + { + "x": 76.5, + "y": 136.5 + }, + { + "x": 76.5, + "y": 176.5 + }, + { + "x": 76.5, + "y": 196.5 + }, + { + "x": 76.5, + "y": 236.5 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(a -> a)[0]", + "src": "a", + "srcArrow": "none", + "srcLabel": "", + "dst": "a", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "labelPosition": "", + "labelPercentage": 0, + "route": [ + { + "x": 103, + "y": 109.38440111420613 + }, + { + "x": 129.66666666666669, + "y": 94.67688022284122 + }, + { + "x": 138, + "y": 91 + }, + { + "x": 140.5, + "y": 91 + }, + { + "x": 143, + "y": 91 + }, + { + "x": 146.33333333333331, + "y": 97.6 + }, + { + "x": 148.83333333333331, + "y": 107.5 + }, + { + "x": 151.33333333333334, + "y": 117.4 + }, + { + "x": 151.33333333333334, + "y": 130.6 + }, + { + "x": 148.83333333333331, + "y": 140.5 + }, + { + "x": 146.33333333333331, + "y": 150.4 + }, + { + "x": 129.66666666666669, + "y": 153.32311977715878 + }, + { + "x": 103, + "y": 138.61559888579387 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ] +} diff --git a/e2etests/testdata/todo/container_label_loop/dagre/sketch.exp.svg b/e2etests/testdata/todo/container_label_loop/dagre/sketch.exp.svg new file mode 100644 index 000000000..1ea5a9824 --- /dev/null +++ b/e2etests/testdata/todo/container_label_loop/dagre/sketch.exp.svg @@ -0,0 +1,59 @@ + +If we were meant to fly, we wouldn't keep losing our luggagebc + + + \ No newline at end of file diff --git a/e2etests/testdata/todo/container_label_loop/elk/board.exp.json b/e2etests/testdata/todo/container_label_loop/elk/board.exp.json new file mode 100644 index 000000000..9e87e945d --- /dev/null +++ b/e2etests/testdata/todo/container_label_loop/elk/board.exp.json @@ -0,0 +1,217 @@ +{ + "name": "", + "fontFamily": "SourceSansPro", + "shapes": [ + { + "id": "a", + "type": "rectangle", + "pos": { + "x": 62, + "y": 12 + }, + "width": 203, + "height": 382, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#E3E9FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "If we were meant to fly, we wouldn't keep losing our luggage", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 702, + "labelHeight": 36, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "a.b", + "type": "rectangle", + "pos": { + "x": 137, + "y": 87 + }, + "width": 53, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "b", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 8, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "a.c", + "type": "rectangle", + "pos": { + "x": 137, + "y": 253 + }, + "width": 53, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "c", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 8, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + } + ], + "connections": [ + { + "id": "a.(b -> c)[0]", + "src": "a.b", + "srcArrow": "none", + "srcLabel": "", + "dst": "a.c", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "labelPosition": "", + "labelPercentage": 0, + "route": [ + { + "x": 163.5, + "y": 153 + }, + { + "x": 163.5, + "y": 253 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(a -> a)[0]", + "src": "a", + "srcArrow": "none", + "srcLabel": "", + "dst": "a", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "labelPosition": "", + "labelPercentage": 0, + "route": [ + { + "x": 62, + "y": 139.33333333333331 + }, + { + "x": 12, + "y": 139.33333333333331 + }, + { + "x": 12, + "y": 266.66666666666663 + }, + { + "x": 62, + "y": 266.66666666666663 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ] +} diff --git a/e2etests/testdata/todo/container_label_loop/elk/sketch.exp.svg b/e2etests/testdata/todo/container_label_loop/elk/sketch.exp.svg new file mode 100644 index 000000000..95bc08d82 --- /dev/null +++ b/e2etests/testdata/todo/container_label_loop/elk/sketch.exp.svg @@ -0,0 +1,59 @@ + +If we were meant to fly, we wouldn't keep losing our luggagebc + + + \ No newline at end of file diff --git a/e2etests/testdata/todo/shape_set_width_height/dagre/board.exp.json b/e2etests/testdata/todo/shape_set_width_height/dagre/board.exp.json index e1a20c317..99d2ab56c 100644 --- a/e2etests/testdata/todo/shape_set_width_height/dagre/board.exp.json +++ b/e2etests/testdata/todo/shape_set_width_height/dagre/board.exp.json @@ -7,10 +7,18 @@ "type": "rectangle", "pos": { "x": 0, - "y": 0 + "y": 41 }, +<<<<<<< HEAD "width": 852, "height": 376, +||||||| 749d236a + "width": 1112, + "height": 456, +======= + "width": 1112, + "height": 415, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -47,11 +55,27 @@ "id": "containers.circle container", "type": "oval", "pos": { +<<<<<<< HEAD "x": 20, "y": 30 +||||||| 749d236a + "x": 40, + "y": 50 +======= + "x": 40, + "y": 106 +>>>>>>> master }, +<<<<<<< HEAD "width": 188, "height": 316, +||||||| 749d236a + "width": 228, + "height": 356, +======= + "width": 228, + "height": 320, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -88,8 +112,16 @@ "id": "containers.circle container.diamond", "type": "diamond", "pos": { +<<<<<<< HEAD "x": 50, "y": 156 +||||||| 749d236a + "x": 90, + "y": 196 +======= + "x": 90, + "y": 234 +>>>>>>> master }, "width": 128, "height": 64, @@ -129,11 +161,27 @@ "id": "containers.diamond container", "type": "diamond", "pos": { +<<<<<<< HEAD "x": 228, "y": 30 +||||||| 749d236a + "x": 308, + "y": 50 +======= + "x": 308, + "y": 106 +>>>>>>> master }, +<<<<<<< HEAD "width": 188, "height": 316, +||||||| 749d236a + "width": 228, + "height": 356, +======= + "width": 228, + "height": 320, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -170,8 +218,16 @@ "id": "containers.diamond container.circle", "type": "oval", "pos": { +<<<<<<< HEAD "x": 258, "y": 124 +||||||| 749d236a + "x": 358, + "y": 164 +======= + "x": 358, + "y": 202 +>>>>>>> master }, "width": 128, "height": 128, @@ -211,11 +267,27 @@ "id": "containers.oval container", "type": "oval", "pos": { +<<<<<<< HEAD "x": 436, "y": 30 +||||||| 749d236a + "x": 576, + "y": 50 +======= + "x": 576, + "y": 106 +>>>>>>> master }, +<<<<<<< HEAD "width": 188, "height": 316, +||||||| 749d236a + "width": 228, + "height": 356, +======= + "width": 228, + "height": 320, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -252,8 +324,16 @@ "id": "containers.oval container.hexagon", "type": "hexagon", "pos": { +<<<<<<< HEAD "x": 466, "y": 156 +||||||| 749d236a + "x": 626, + "y": 196 +======= + "x": 626, + "y": 234 +>>>>>>> master }, "width": 128, "height": 64, @@ -293,11 +373,27 @@ "id": "containers.hexagon container", "type": "hexagon", "pos": { +<<<<<<< HEAD "x": 644, "y": 30 +||||||| 749d236a + "x": 844, + "y": 50 +======= + "x": 844, + "y": 106 +>>>>>>> master }, +<<<<<<< HEAD "width": 188, "height": 316, +||||||| 749d236a + "width": 228, + "height": 356, +======= + "width": 228, + "height": 320, +>>>>>>> master "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -334,8 +430,16 @@ "id": "containers.hexagon container.oval", "type": "oval", "pos": { +<<<<<<< HEAD "x": 674, "y": 156 +||||||| 749d236a + "x": 894, + "y": 196 +======= + "x": 894, + "y": 234 +>>>>>>> master }, "width": 128, "height": 64, diff --git a/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg b/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg index 88ca31598..9b73925ff 100644 --- a/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg +++ b/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg @@ -3,7 +3,13 @@ id="d2-svg" style="background: white;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" +<<<<<<< HEAD width="2182" height="2511" viewBox="-102 -141 2182 2511">containerscloudtall cylinderclass- num int- @@ -820,11 +827,70 @@ width="2182" height="2511" viewBox="-102 -141 2182 2511">containerscloudtall cylinderclass- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidusersid +int +name +string +email +string +password +string +last_login +datetime +container

markdown text expanded to 800x400

+
:= 5 +======= +containerscloudtall cylinderclass- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidusersid +int +name +string +email +string +password +string +last_login +datetime +container

markdown text expanded to 800x400

+
:= 5 +>>>>>>> master := a + 7 fmt.Printf("%d", b):= 5 := a + 7 +<<<<<<< HEAD fmt.Printf("%d", b)circle containerdiamond containeroval containerhexagon containerdiamondcirclehexagonoval +||||||| 749d236a +
fmt.Printf("%d", b)
circle containerdiamond containeroval containerhexagon containerdiamondcirclehexagonoval + +======= +fmt.Printf("%d", b)
circle containerdiamond containeroval containerhexagon containerdiamondcirclehexagonoval + +>>>>>>> master