From 7651aedb8cd18625d00cfa82686998f79da3c2f8 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Thu, 19 Jan 2023 00:26:00 -0800 Subject: [PATCH 1/6] fix opacity for labels --- d2renderers/d2svg/d2svg.go | 6 + e2etests/regression_test.go | 10 + .../opacity-on-label/dagre/board.exp.json | 86 ++ .../opacity-on-label/dagre/sketch.exp.svg | 817 ++++++++++++++++++ .../opacity-on-label/elk/board.exp.json | 86 ++ .../opacity-on-label/elk/sketch.exp.svg | 817 ++++++++++++++++++ .../stable/stylish/dagre/sketch.exp.svg | 4 +- .../stable/stylish/elk/sketch.exp.svg | 4 +- .../transparent_3d/dagre/sketch.exp.svg | 2 +- .../stable/transparent_3d/elk/sketch.exp.svg | 2 +- 10 files changed, 1828 insertions(+), 6 deletions(-) create mode 100644 e2etests/testdata/regression/opacity-on-label/dagre/board.exp.json create mode 100644 e2etests/testdata/regression/opacity-on-label/dagre/sketch.exp.svg create mode 100644 e2etests/testdata/regression/opacity-on-label/elk/board.exp.json create mode 100644 e2etests/testdata/regression/opacity-on-label/elk/sketch.exp.svg diff --git a/d2renderers/d2svg/d2svg.go b/d2renderers/d2svg/d2svg.go index 8082c033c..f21b1bce1 100644 --- a/d2renderers/d2svg/d2svg.go +++ b/d2renderers/d2svg/d2svg.go @@ -885,6 +885,9 @@ func drawShape(writer io.Writer, targetShape d2target.Shape, sketchRunner *d2ske if targetShape.Stroke != "" { mdStyle += fmt.Sprintf("color:%s;", targetShape.Stroke) } + if targetShape.Opacity != 1.0 { + mdStyle += fmt.Sprintf("opacity:%f;", targetShape.Opacity) + } fmt.Fprintf(writer, `
%v
`, mdStyle, render) fmt.Fprint(writer, ``) @@ -894,6 +897,9 @@ func drawShape(writer io.Writer, targetShape d2target.Shape, sketchRunner *d2ske fontColor = targetShape.Color } textStyle := fmt.Sprintf("text-anchor:%s;font-size:%vpx;fill:%s", "middle", targetShape.FontSize, fontColor) + if targetShape.Opacity != 1.0 { + textStyle += fmt.Sprintf(";opacity:%f;", targetShape.Opacity) + } x := labelTL.X + float64(targetShape.LabelWidth)/2. // text is vertically positioned at its baseline which is at labelTL+FontSize y := labelTL.Y + float64(targetShape.FontSize) diff --git a/e2etests/regression_test.go b/e2etests/regression_test.go index 13646d942..6752d7f73 100644 --- a/e2etests/regression_test.go +++ b/e2etests/regression_test.go @@ -380,6 +380,16 @@ no leading: |python } x.a -> x.a +`, + }, + { + name: "opacity-on-label", + script: `x.style.opacity: 0.4 +y: |md + linux: because a PC is a terrible thing to waste +| { + style.opacity: 0.4 +} `, }, } diff --git a/e2etests/testdata/regression/opacity-on-label/dagre/board.exp.json b/e2etests/testdata/regression/opacity-on-label/dagre/board.exp.json new file mode 100644 index 000000000..db2020838 --- /dev/null +++ b/e2etests/testdata/regression/opacity-on-label/dagre/board.exp.json @@ -0,0 +1,86 @@ +{ + "name": "", + "fontFamily": "SourceSansPro", + "shapes": [ + { + "id": "x", + "type": "", + "pos": { + "x": 0, + "y": 0 + }, + "width": 113, + "height": 126, + "opacity": 0.4, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#F7F8FE", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "x", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 13, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "y", + "type": "text", + "pos": { + "x": 173, + "y": 51 + }, + "width": 304, + "height": 24, + "opacity": 0.4, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "transparent", + "stroke": "#0A0F25", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "linux: because a PC is a terrible thing to waste", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "markdown", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 304, + "labelHeight": 24, + "zIndex": 0, + "level": 1 + } + ], + "connections": [] +} diff --git a/e2etests/testdata/regression/opacity-on-label/dagre/sketch.exp.svg b/e2etests/testdata/regression/opacity-on-label/dagre/sketch.exp.svg new file mode 100644 index 000000000..8ed199b2a --- /dev/null +++ b/e2etests/testdata/regression/opacity-on-label/dagre/sketch.exp.svg @@ -0,0 +1,817 @@ + +x

linux: because a PC is a terrible thing to waste

+
+ + +
\ No newline at end of file diff --git a/e2etests/testdata/regression/opacity-on-label/elk/board.exp.json b/e2etests/testdata/regression/opacity-on-label/elk/board.exp.json new file mode 100644 index 000000000..bc30bf771 --- /dev/null +++ b/e2etests/testdata/regression/opacity-on-label/elk/board.exp.json @@ -0,0 +1,86 @@ +{ + "name": "", + "fontFamily": "SourceSansPro", + "shapes": [ + { + "id": "x", + "type": "", + "pos": { + "x": 12, + "y": 12 + }, + "width": 113, + "height": 126, + "opacity": 0.4, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#F7F8FE", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "x", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 13, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "y", + "type": "text", + "pos": { + "x": 145, + "y": 63 + }, + "width": 304, + "height": 24, + "opacity": 0.4, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "transparent", + "stroke": "#0A0F25", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "linux: because a PC is a terrible thing to waste", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "markdown", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 304, + "labelHeight": 24, + "zIndex": 0, + "level": 1 + } + ], + "connections": [] +} diff --git a/e2etests/testdata/regression/opacity-on-label/elk/sketch.exp.svg b/e2etests/testdata/regression/opacity-on-label/elk/sketch.exp.svg new file mode 100644 index 000000000..fa2b77780 --- /dev/null +++ b/e2etests/testdata/regression/opacity-on-label/elk/sketch.exp.svg @@ -0,0 +1,817 @@ + +x

linux: because a PC is a terrible thing to waste

+
+ + +
\ No newline at end of file diff --git a/e2etests/testdata/stable/stylish/dagre/sketch.exp.svg b/e2etests/testdata/stable/stylish/dagre/sketch.exp.svg index b1f14ed51..12c7c3837 100644 --- a/e2etests/testdata/stable/stylish/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/stylish/dagre/sketch.exp.svg @@ -47,9 +47,9 @@ width="323" height="580" viewBox="-104 -105 323 580"> + + + + +x

linux: because a PC is a terrible thing to waste

+
a You don't have to know how the computer works,just how to work the computer. + + + \ No newline at end of file diff --git a/d2renderers/d2sketch/testdata/sql_tables/sketch.exp.svg b/d2renderers/d2sketch/testdata/sql_tables/sketch.exp.svg index ca6bb4d1f..a73606a4b 100644 --- a/d2renderers/d2sketch/testdata/sql_tables/sketch.exp.svg +++ b/d2renderers/d2sketch/testdata/sql_tables/sketch.exp.svg @@ -51,7 +51,7 @@ width="1029" height="664" viewBox="-102 -102 1029 664">x

linux: because a PC is a terrible thing to waste

-
- - +x

linux: because a PC is a terrible thing to waste

+
a You don't have to know how the computer works,just how to work the computer. + + \ No newline at end of file diff --git a/e2etests/testdata/regression/opacity-on-label/elk/board.exp.json b/e2etests/testdata/regression/opacity-on-label/elk/board.exp.json index bc30bf771..3ae7ceeba 100644 --- a/e2etests/testdata/regression/opacity-on-label/elk/board.exp.json +++ b/e2etests/testdata/regression/opacity-on-label/elk/board.exp.json @@ -6,7 +6,7 @@ "id": "x", "type": "", "pos": { - "x": 12, + "x": 116, "y": 12 }, "width": 113, @@ -46,7 +46,7 @@ "id": "y", "type": "text", "pos": { - "x": 145, + "x": 249, "y": 63 }, "width": 304, @@ -80,7 +80,87 @@ "labelHeight": 24, "zIndex": 0, "level": 1 + }, + { + "id": "a", + "type": "", + "pos": { + "x": 116, + "y": 375 + }, + "width": 113, + "height": 126, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#F7F8FE", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "a", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 13, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 } ], - "connections": [] + "connections": [ + { + "id": "(x -> a)[0]", + "src": "x", + "srcArrow": "none", + "srcLabel": "", + "dst": "a", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 0.4, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "You don't have to know how the computer works,\njust how to work the computer.", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 322, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 173, + "y": 138 + }, + { + "x": 173, + "y": 375 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ] } diff --git a/e2etests/testdata/regression/opacity-on-label/elk/sketch.exp.svg b/e2etests/testdata/regression/opacity-on-label/elk/sketch.exp.svg index fa2b77780..28aa950fe 100644 --- a/e2etests/testdata/regression/opacity-on-label/elk/sketch.exp.svg +++ b/e2etests/testdata/regression/opacity-on-label/elk/sketch.exp.svg @@ -3,7 +3,7 @@ id="d2-svg" style="background: white;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" -width="641" height="330" viewBox="-90 -90 641 330">x

linux: because a PC is a terrible thing to waste

-
- - +x

linux: because a PC is a terrible thing to waste

+
a You don't have to know how the computer works,just how to work the computer. + + \ No newline at end of file From 68e75bc8d4663b1182862ee5898230730ee642bb Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Thu, 19 Jan 2023 00:46:57 -0800 Subject: [PATCH 4/6] fix --- ci/release/changelogs/next.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md index bbe2de2cb..9dda6efa4 100644 --- a/ci/release/changelogs/next.md +++ b/ci/release/changelogs/next.md @@ -18,7 +18,7 @@ - Fixes tooltip/link attributes being ignored for `sql_table` and `class`. [#658](https://github.com/terrastruct/d2/pull/658) - Fixes arrowheads sometimes appearing broken with sketch on. [#656](https://github.com/terrastruct/d2/pull/656) - Fixes code snippets not being tall enough with leading newlines. [#664](https://github.com/terrastruct/d2/pull/664) -- Opacity was not being applied to labels of shapes. [#677](https://github.com/terrastruct/d2/pull/677) +- Opacity was not being applied to labels of shapes (and other edge cases). [#677](https://github.com/terrastruct/d2/pull/677) - Icon URLs that needed escaping (e.g. with ampersands) are handled correctly by CLI. [#666](https://github.com/terrastruct/d2/pull/666) - Fixes markdown shapes being slightly too short for their text in some cases. [#665](https://github.com/terrastruct/d2/pull/665) - Fixes self-connections inside layouts when using ELK. [#676](https://github.com/terrastruct/d2/pull/676) From 74b54f3f8a74f77cacfd9d60a78bc5795bfbf595 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Thu, 19 Jan 2023 00:52:10 -0800 Subject: [PATCH 5/6] update --- d2renderers/d2sketch/sketch_test.go | 5 +++++ d2renderers/d2sketch/testdata/opacity/sketch.exp.svg | 8 +++++--- d2renderers/d2svg/d2svg.go | 2 +- .../dagre/sketch.exp.svg | 6 +++--- .../code_leading_trailing_newlines/elk/sketch.exp.svg | 6 +++--- .../dagre_broken_arrowhead/dagre/sketch.exp.svg | 2 +- .../dagre_broken_arrowhead/elk/sketch.exp.svg | 2 +- .../dagre_edge_label_spacing/dagre/sketch.exp.svg | 2 +- .../dagre_edge_label_spacing/elk/sketch.exp.svg | 2 +- .../regression/dagre_special_ids/dagre/sketch.exp.svg | 2 +- .../regression/dagre_special_ids/elk/sketch.exp.svg | 2 +- .../regression/elk_alignment/dagre/sketch.exp.svg | 2 +- .../regression/elk_alignment/elk/sketch.exp.svg | 2 +- .../elk_img_empty_label_panic/dagre/sketch.exp.svg | 2 +- .../elk_img_empty_label_panic/elk/sketch.exp.svg | 2 +- .../regression/elk_loop_panic/dagre/sketch.exp.svg | 2 +- .../regression/elk_loop_panic/elk/sketch.exp.svg | 2 +- .../testdata/regression/elk_order/dagre/sketch.exp.svg | 4 ++-- .../testdata/regression/elk_order/elk/sketch.exp.svg | 4 ++-- .../regression/empty_sequence/dagre/sketch.exp.svg | 2 +- .../regression/empty_sequence/elk/sketch.exp.svg | 2 +- .../regression/md_h1_li_li/dagre/sketch.exp.svg | 2 +- .../testdata/regression/md_h1_li_li/elk/sketch.exp.svg | 2 +- .../testdata/regression/no-lexer/dagre/sketch.exp.svg | 2 +- .../testdata/regression/no-lexer/elk/sketch.exp.svg | 2 +- .../only_header_class_table/dagre/sketch.exp.svg | 4 ++-- .../only_header_class_table/elk/sketch.exp.svg | 4 ++-- .../overlapping-edge-label/dagre/sketch.exp.svg | 2 +- .../overlapping-edge-label/elk/sketch.exp.svg | 2 +- .../regression/query_param_escape/dagre/sketch.exp.svg | 2 +- .../regression/query_param_escape/elk/sketch.exp.svg | 2 +- .../sequence_diagram_name_crash/dagre/sketch.exp.svg | 2 +- .../sequence_diagram_name_crash/elk/sketch.exp.svg | 2 +- .../sequence_diagram_no_message/dagre/sketch.exp.svg | 2 +- .../sequence_diagram_no_message/elk/sketch.exp.svg | 2 +- .../sequence_diagram_span_cover/dagre/sketch.exp.svg | 2 +- .../sequence_diagram_span_cover/elk/sketch.exp.svg | 2 +- .../regression/sql_table_overflow/dagre/sketch.exp.svg | 4 ++-- .../regression/sql_table_overflow/elk/sketch.exp.svg | 4 ++-- .../unnamed_class_table_code/dagre/sketch.exp.svg | 8 ++++---- .../unnamed_class_table_code/elk/sketch.exp.svg | 8 ++++---- e2etests/testdata/sanity/1_to_2/dagre/sketch.exp.svg | 2 +- e2etests/testdata/sanity/1_to_2/elk/sketch.exp.svg | 2 +- e2etests/testdata/sanity/basic/dagre/sketch.exp.svg | 2 +- e2etests/testdata/sanity/basic/elk/sketch.exp.svg | 2 +- .../sanity/child_to_child/dagre/sketch.exp.svg | 2 +- .../testdata/sanity/child_to_child/elk/sketch.exp.svg | 2 +- .../sanity/connection_label/dagre/sketch.exp.svg | 2 +- .../sanity/connection_label/elk/sketch.exp.svg | 2 +- .../testdata/stable/all_shapes/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/all_shapes/elk/sketch.exp.svg | 2 +- .../stable/all_shapes_multiple/dagre/sketch.exp.svg | 2 +- .../stable/all_shapes_multiple/elk/sketch.exp.svg | 2 +- .../stable/all_shapes_shadow/dagre/sketch.exp.svg | 2 +- .../stable/all_shapes_shadow/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/animated/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/animated/elk/sketch.exp.svg | 2 +- .../stable/arrowhead_adjustment/dagre/sketch.exp.svg | 2 +- .../stable/arrowhead_adjustment/elk/sketch.exp.svg | 2 +- .../stable/arrowhead_labels/dagre/sketch.exp.svg | 2 +- .../stable/arrowhead_labels/elk/sketch.exp.svg | 2 +- .../testdata/stable/binary_tree/dagre/sketch.exp.svg | 2 +- .../testdata/stable/binary_tree/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/chaos1/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/chaos1/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/chaos2/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/chaos2/elk/sketch.exp.svg | 2 +- .../stable/child_parent_edges/dagre/sketch.exp.svg | 2 +- .../stable/child_parent_edges/elk/sketch.exp.svg | 2 +- .../stable/circular_dependency/dagre/sketch.exp.svg | 2 +- .../stable/circular_dependency/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/class/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/class/elk/sketch.exp.svg | 2 +- .../testdata/stable/code_snippet/dagre/sketch.exp.svg | 4 ++-- .../testdata/stable/code_snippet/elk/sketch.exp.svg | 4 ++-- .../stable/connected_container/dagre/sketch.exp.svg | 2 +- .../stable/connected_container/elk/sketch.exp.svg | 2 +- .../stable/constant_near_stress/dagre/sketch.exp.svg | 4 ++-- .../stable/constant_near_stress/elk/sketch.exp.svg | 4 ++-- .../stable/constant_near_title/dagre/sketch.exp.svg | 4 ++-- .../stable/constant_near_title/elk/sketch.exp.svg | 4 ++-- .../stable/container_edges/dagre/sketch.exp.svg | 2 +- .../testdata/stable/container_edges/elk/sketch.exp.svg | 2 +- .../stable/crow_foot_arrowhead/dagre/sketch.exp.svg | 2 +- .../stable/crow_foot_arrowhead/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/dense/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/dense/elk/sketch.exp.svg | 2 +- .../stable/different_subgraphs/dagre/sketch.exp.svg | 2 +- .../stable/different_subgraphs/elk/sketch.exp.svg | 2 +- .../testdata/stable/direction/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/direction/elk/sketch.exp.svg | 2 +- .../testdata/stable/font_colors/dagre/sketch.exp.svg | 2 +- .../testdata/stable/font_colors/elk/sketch.exp.svg | 2 +- .../testdata/stable/font_sizes/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/font_sizes/elk/sketch.exp.svg | 2 +- .../stable/giant_markdown_test/dagre/sketch.exp.svg | 2 +- .../stable/giant_markdown_test/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/hr/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/hr/elk/sketch.exp.svg | 2 +- .../testdata/stable/icon-label/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/icon-label/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/images/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/images/elk/sketch.exp.svg | 2 +- .../testdata/stable/investigate/dagre/sketch.exp.svg | 2 +- .../testdata/stable/investigate/elk/sketch.exp.svg | 2 +- .../testdata/stable/large_arch/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/large_arch/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/latex/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/latex/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/li1/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/li1/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/li2/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/li2/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/li3/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/li3/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/li4/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/li4/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/links/dagre/sketch.exp.svg | 6 +++--- e2etests/testdata/stable/links/elk/sketch.exp.svg | 6 +++--- e2etests/testdata/stable/lone_h1/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/lone_h1/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/markdown/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/markdown/elk/sketch.exp.svg | 2 +- .../stable/markdown_stroke_fill/dagre/sketch.exp.svg | 4 ++-- .../stable/markdown_stroke_fill/elk/sketch.exp.svg | 4 ++-- .../stable/md_2space_newline/dagre/sketch.exp.svg | 2 +- .../stable/md_2space_newline/elk/sketch.exp.svg | 2 +- .../stable/md_backslash_newline/dagre/sketch.exp.svg | 2 +- .../stable/md_backslash_newline/elk/sketch.exp.svg | 2 +- .../stable/md_code_block_fenced/dagre/sketch.exp.svg | 2 +- .../stable/md_code_block_fenced/elk/sketch.exp.svg | 2 +- .../stable/md_code_block_indented/dagre/sketch.exp.svg | 2 +- .../stable/md_code_block_indented/elk/sketch.exp.svg | 2 +- .../stable/md_code_inline/dagre/sketch.exp.svg | 2 +- .../testdata/stable/md_code_inline/elk/sketch.exp.svg | 2 +- .../stable/multiline_text/dagre/sketch.exp.svg | 2 +- .../testdata/stable/multiline_text/elk/sketch.exp.svg | 2 +- .../stable/multiple_trees/dagre/sketch.exp.svg | 2 +- .../testdata/stable/multiple_trees/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/n22_e32/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/n22_e32/elk/sketch.exp.svg | 2 +- .../stable/number_connections/dagre/sketch.exp.svg | 2 +- .../stable/number_connections/elk/sketch.exp.svg | 2 +- .../stable/one_container_loop/dagre/sketch.exp.svg | 2 +- .../stable/one_container_loop/elk/sketch.exp.svg | 2 +- .../one_three_one_container/dagre/sketch.exp.svg | 2 +- .../stable/one_three_one_container/elk/sketch.exp.svg | 2 +- .../dagre/sketch.exp.svg | 2 +- .../elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/p/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/p/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/pre/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/pre/elk/sketch.exp.svg | 2 +- .../stable/self-referencing/dagre/sketch.exp.svg | 2 +- .../stable/self-referencing/elk/sketch.exp.svg | 2 +- .../dagre/sketch.exp.svg | 2 +- .../sequence_diagram_actor_distance/elk/sketch.exp.svg | 2 +- .../sequence_diagram_all_shapes/dagre/sketch.exp.svg | 8 ++++---- .../sequence_diagram_all_shapes/elk/sketch.exp.svg | 8 ++++---- .../sequence_diagram_distance/dagre/sketch.exp.svg | 2 +- .../sequence_diagram_distance/elk/sketch.exp.svg | 2 +- .../sequence_diagram_groups/dagre/sketch.exp.svg | 2 +- .../stable/sequence_diagram_groups/elk/sketch.exp.svg | 2 +- .../sequence_diagram_long_note/dagre/sketch.exp.svg | 2 +- .../sequence_diagram_long_note/elk/sketch.exp.svg | 2 +- .../dagre/sketch.exp.svg | 2 +- .../sequence_diagram_nested_groups/elk/sketch.exp.svg | 2 +- .../sequence_diagram_nested_span/dagre/sketch.exp.svg | 2 +- .../sequence_diagram_nested_span/elk/sketch.exp.svg | 2 +- .../stable/sequence_diagram_note/dagre/sketch.exp.svg | 2 +- .../stable/sequence_diagram_note/elk/sketch.exp.svg | 2 +- .../stable/sequence_diagram_real/dagre/sketch.exp.svg | 2 +- .../stable/sequence_diagram_real/elk/sketch.exp.svg | 2 +- .../sequence_diagram_self_edges/dagre/sketch.exp.svg | 2 +- .../sequence_diagram_self_edges/elk/sketch.exp.svg | 2 +- .../sequence_diagram_simple/dagre/sketch.exp.svg | 2 +- .../stable/sequence_diagram_simple/elk/sketch.exp.svg | 2 +- .../stable/sequence_diagram_span/dagre/sketch.exp.svg | 2 +- .../stable/sequence_diagram_span/elk/sketch.exp.svg | 2 +- .../stable/sequence_diagrams/dagre/sketch.exp.svg | 2 +- .../stable/sequence_diagrams/elk/sketch.exp.svg | 2 +- .../sql_table_tooltip_animated/dagre/sketch.exp.svg | 6 +++--- .../sql_table_tooltip_animated/elk/sketch.exp.svg | 6 +++--- .../testdata/stable/sql_tables/dagre/sketch.exp.svg | 10 +++++----- e2etests/testdata/stable/sql_tables/elk/sketch.exp.svg | 10 +++++----- .../testdata/stable/square_3d/dagre/sketch.exp.svg | 4 ++-- e2etests/testdata/stable/square_3d/elk/sketch.exp.svg | 4 ++-- .../straight_hierarchy_container/dagre/sketch.exp.svg | 2 +- .../straight_hierarchy_container/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/stylish/dagre/sketch.exp.svg | 4 ++-- e2etests/testdata/stable/stylish/elk/sketch.exp.svg | 4 ++-- .../stable/text_font_sizes/dagre/sketch.exp.svg | 2 +- .../testdata/stable/text_font_sizes/elk/sketch.exp.svg | 2 +- e2etests/testdata/stable/tooltips/dagre/sketch.exp.svg | 6 +++--- e2etests/testdata/stable/tooltips/elk/sketch.exp.svg | 6 +++--- .../stable/transparent_3d/dagre/sketch.exp.svg | 4 ++-- .../testdata/stable/transparent_3d/elk/sketch.exp.svg | 4 ++-- .../stable/unnamed_only_height/dagre/sketch.exp.svg | 8 ++++---- .../stable/unnamed_only_height/elk/sketch.exp.svg | 8 ++++---- .../stable/unnamed_only_width/dagre/sketch.exp.svg | 8 ++++---- .../stable/unnamed_only_width/elk/sketch.exp.svg | 8 ++++---- e2etests/testdata/stable/us_map/dagre/sketch.exp.svg | 2 +- e2etests/testdata/stable/us_map/elk/sketch.exp.svg | 2 +- .../todo/container_child_edge/dagre/sketch.exp.svg | 2 +- .../todo/container_child_edge/elk/sketch.exp.svg | 2 +- .../font_sizes_containers_large/dagre/sketch.exp.svg | 2 +- .../font_sizes_containers_large/elk/sketch.exp.svg | 2 +- .../todo/font_sizes_large/dagre/sketch.exp.svg | 2 +- .../testdata/todo/font_sizes_large/elk/sketch.exp.svg | 2 +- .../dagre/sketch.exp.svg | 2 +- .../elk/sketch.exp.svg | 2 +- .../todo/shape_set_width_height/dagre/sketch.exp.svg | 10 +++++----- .../todo/shape_set_width_height/elk/sketch.exp.svg | 10 +++++----- .../testdata/todo/tall_edge_label/dagre/sketch.exp.svg | 2 +- .../testdata/todo/tall_edge_label/elk/sketch.exp.svg | 2 +- 215 files changed, 299 insertions(+), 292 deletions(-) diff --git a/d2renderers/d2sketch/sketch_test.go b/d2renderers/d2sketch/sketch_test.go index 54d3b8b5b..f431a62a2 100644 --- a/d2renderers/d2sketch/sketch_test.go +++ b/d2renderers/d2sketch/sketch_test.go @@ -340,6 +340,11 @@ x -> a: { label: You don't have to know how the computer works,\njust how to work the computer. style.opacity: 0.4 } +users: { + shape: sql_table + last_login: datetime + style.opacity: 0.4 +} `, }, } diff --git a/d2renderers/d2sketch/testdata/opacity/sketch.exp.svg b/d2renderers/d2sketch/testdata/opacity/sketch.exp.svg index b70d25d7f..fbb3d712e 100644 --- a/d2renderers/d2sketch/testdata/opacity/sketch.exp.svg +++ b/d2renderers/d2sketch/testdata/opacity/sketch.exp.svg @@ -3,7 +3,7 @@ id="d2-svg" style="background: white;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" -width="855" height="595" viewBox="-100 -102 855 595"> \ No newline at end of file diff --git a/e2etests/testdata/regression/elk_img_empty_label_panic/elk/sketch.exp.svg b/e2etests/testdata/regression/elk_img_empty_label_panic/elk/sketch.exp.svg index 2ca3fb21b..6f53328fa 100644 --- a/e2etests/testdata/regression/elk_img_empty_label_panic/elk/sketch.exp.svg +++ b/e2etests/testdata/regression/elk_img_empty_label_panic/elk/sketch.exp.svg @@ -39,7 +39,7 @@ width="452" height="332" viewBox="-90 -90 452 332"> \ No newline at end of file diff --git a/e2etests/testdata/regression/elk_loop_panic/dagre/sketch.exp.svg b/e2etests/testdata/regression/elk_loop_panic/dagre/sketch.exp.svg index 5a3042961..48ca96d52 100644 --- a/e2etests/testdata/regression/elk_loop_panic/dagre/sketch.exp.svg +++ b/e2etests/testdata/regression/elk_loop_panic/dagre/sketch.exp.svg @@ -39,7 +39,7 @@ width="630" height="430" viewBox="-102 -102 630 430">

Oldest message

+

Oldest message

Offset

Last message

Next message will be
inserted here

-
M0M1M2M3M4M5M6 +
M0M1M2M3M4M5M6

Oldest message

+

Oldest message

Offset

Last message

Next message will be
inserted here

-
M0M1M2M3M4M5M6 +
M0M1M2M3M4M5M6 aabbllmmnnoocciikkddgghhjjeeff1122 334455667788 +aabbllmmnnoocciikkddgghhjjeeff1122 334455667788 diff --git a/e2etests/testdata/stable/chaos2/elk/sketch.exp.svg b/e2etests/testdata/stable/chaos2/elk/sketch.exp.svg index 08bad938b..e1498a328 100644 --- a/e2etests/testdata/stable/chaos2/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/chaos2/elk/sketch.exp.svg @@ -796,7 +796,7 @@ width="1275" height="2738" viewBox="-90 -90 1275 2738">aabbllmmnnoocciikkddgghhjjeeff1122 334455667788 +aabbllmmnnoocciikkddgghhjjeeff1122 334455667788 diff --git a/e2etests/testdata/stable/child_parent_edges/dagre/sketch.exp.svg b/e2etests/testdata/stable/child_parent_edges/dagre/sketch.exp.svg index f8a893097..7bc1e8325 100644 --- a/e2etests/testdata/stable/child_parent_edges/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/child_parent_edges/dagre/sketch.exp.svg @@ -39,7 +39,7 @@ width="698" height="630" viewBox="-102 -102 698 630">xyThe top of the mountainJoeDonald

Cats, no less liquid than their shadows, offer no angles to the wind.

+xyThe top of the mountainJoeDonald

Cats, no less liquid than their shadows, offer no angles to the wind.

If we can't fix it, it ain't broke.

Dieters live life in the fasting lane.

-
i am top lefti am top righti am bottom lefti am bottom right +
i am top lefti am top righti am bottom lefti am bottom right xyThe top of the mountainJoeDonald

Cats, no less liquid than their shadows, offer no angles to the wind.

+xyThe top of the mountainJoeDonald

Cats, no less liquid than their shadows, offer no angles to the wind.

If we can't fix it, it ain't broke.

Dieters live life in the fasting lane.

-
i am top lefti am top righti am bottom lefti am bottom right +
i am top lefti am top righti am bottom lefti am bottom right poll the peopleresultsunfavorablefavorablewill of the people

A winning strategy

-
+poll the peopleresultsunfavorablefavorablewill of the people

A winning strategy

+
poll the peopleresultsunfavorablefavorablewill of the people

A winning strategy

-
+poll the peopleresultsunfavorablefavorablewill of the people

A winning strategy

+
mixed togethersugarsolution we get +mixed togethersugarsolution we get mixed togethersugarsolution we get +mixed togethersugarsolution we get

Markdown: Syntax

-
ab +ab

Markdown: Syntax

-
ab +ab container

they did it in style

+container

they did it in style

a header

a line of text and an

{
@@ -805,7 +805,7 @@ width="516" height="686" viewBox="-102 -102 516 686">container

they did it in style

+container

they did it in style

a header

a line of text and an

{
@@ -805,7 +805,7 @@ width="566" height="736" viewBox="-90 -90 566 736">markdown

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

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

diff --git a/e2etests/testdata/stable/md_2space_newline/elk/sketch.exp.svg b/e2etests/testdata/stable/md_2space_newline/elk/sketch.exp.svg index 556034da3..20588b494 100644 --- a/e2etests/testdata/stable/md_2space_newline/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/md_2space_newline/elk/sketch.exp.svg @@ -796,7 +796,7 @@ width="813" height="402" viewBox="-90 -90 813 402">markdown

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

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

diff --git a/e2etests/testdata/stable/md_backslash_newline/dagre/sketch.exp.svg b/e2etests/testdata/stable/md_backslash_newline/dagre/sketch.exp.svg index 02882dac2..c8ae1c67d 100644 --- a/e2etests/testdata/stable/md_backslash_newline/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/md_backslash_newline/dagre/sketch.exp.svg @@ -796,7 +796,7 @@ width="763" height="352" viewBox="-102 -102 763 352">markdown

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

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

diff --git a/e2etests/testdata/stable/md_backslash_newline/elk/sketch.exp.svg b/e2etests/testdata/stable/md_backslash_newline/elk/sketch.exp.svg index 36b39bde1..675ff5992 100644 --- a/e2etests/testdata/stable/md_backslash_newline/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/md_backslash_newline/elk/sketch.exp.svg @@ -796,7 +796,7 @@ width="813" height="402" viewBox="-90 -90 813 402">markdown

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

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

diff --git a/e2etests/testdata/stable/md_code_block_fenced/dagre/sketch.exp.svg b/e2etests/testdata/stable/md_code_block_fenced/dagre/sketch.exp.svg index e6e3efc9b..f56147b8e 100644 --- a/e2etests/testdata/stable/md_code_block_fenced/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/md_code_block_fenced/dagre/sketch.exp.svg @@ -801,7 +801,7 @@ width="400" height="767" viewBox="-102 -102 400 767">

code

-
ab +
ab

code

-
ab +
ab bearmama bearpapa bear +bearmama bearpapa bear bearmama bearpapa bear +bearmama bearpapa bear