Commit graph

76 commits

Author SHA1 Message Date
Gavin Nishizawa
228ef4e65b
account for non-orthogonal connection segments 2023-04-24 20:05:26 -07:00
Gavin Nishizawa
e6e9673ddd
arrowhead refactor 2023-04-24 18:32:24 -07:00
Gavin Nishizawa
ca29119c60
adjust label positioning for arrowhead 2023-04-17 13:12:02 -07:00
Gavin Nishizawa
29a9630635
update bounding box for arrowhead labels 2023-04-17 13:01:38 -07:00
Gavin Nishizawa
6e4faefb4b
position arrowhead labels 2023-04-17 13:01:38 -07:00
Gavin Nishizawa
71546caeeb
render with arrowhead dimensions 2023-04-17 13:01:38 -07:00
Alexander Wang
305c72d239
implement classes 2023-04-07 09:57:51 -07:00
Bernard Xie
28f4f2d7ed
Update d2target.go 2023-03-29 15:12:00 -07:00
Alexander Wang
f30efc5f62
animate-interval 2023-03-26 21:34:41 -07:00
Alexander Wang
1f6a361b3f
implement pattern 2023-03-13 23:01:33 -07:00
donglixiaoche
e88c60fe55
fix: default border-radius for BaseConnection 2023-03-01 08:09:39 +08:00
donglixiaoche
84905ded9e
feat: elk border-radius 2023-03-01 08:09:38 +08:00
Anmol Sethi
f64b5c010d
IsContainerOnly -> IsFolderOnly 2023-02-27 14:39:09 -08:00
Anmol Sethi
78b09f5007
BoardContainer -> IsContainerOnly
As discussed on slack.
2023-02-27 14:39:08 -08:00
Anmol Sethi
e4fac7840f
cli: Improve multiboard output
- Boards with subboards are now selfcontained folders with index.svg/png as
  the root board render.
- Boards that are only containers of other boards are not rendered. For example a
  scenario with no modifications and only steps only has its steps
  rendered.
- Boards with sibling boards of another type are rendered under a
  subdirectory indicating their type to separate them. For example a
  board with layers and scenarios has its layers rendered into subfolder
  layers and scenarios into subfolder scenarios.

cc @berniexie see BoardContainer field on d2target.Board for the field
you were looking for to skip renders for PDFs too.
2023-02-27 13:50:03 -08:00
Alexander Wang
87eae1b616
implement background styles 2023-02-26 16:23:51 -08:00
Alexander Wang
0216c8b5f0
fix font-color for tables and class 2023-02-24 20:39:34 -08:00
Alexander Wang
e1b407ea52
use more accurate icon bounding 2023-02-23 14:42:56 -08:00
Alexander Wang
6fe8989d30
fix icon padding 2023-02-23 11:15:24 -08:00
Vojtěch Fošnár
6a89beaeb1
merge updates 2023-02-19 12:32:44 +01:00
Alexander Wang
e37fc89bb1
icons in top left of containers 2023-02-13 10:42:47 -08:00
Alexander Wang
b842aade73
ok 2023-02-12 12:30:33 -08:00
Alexander Wang
ad24108446
label fill 2023-02-09 14:14:31 -08:00
Gavin Nishizawa
e524f43566
refactor and fix #699 2023-02-03 14:53:17 -08:00
Anmol Sethi
30b5b64cad
d2ir: Review fixes #714 2023-01-27 23:19:50 -08:00
Vojtěch Fošnár
af2be1232f
resolved conflicts, updated tests 2023-01-27 22:30:44 +01:00
Vojtěch Fošnár
462bd1e23d
resolve conflicts 2023-01-27 21:08:01 +01:00
Anmol Sethi
2d36513e2c
Merge remote-tracking branch 'upstream/master' into scenarios-a407 2023-01-27 10:51:33 -08:00
Anmol Sethi
caef5a5a8f
cli: Add support for rendering layers/scenarios/steps 2023-01-27 10:41:25 -08:00
OneRain2333
1355184291 Fix typo 2023-01-24 17:35:23 +08:00
OneRain2333
194dfac8d2 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	d2renderers/d2sketch/testdata/all_shapes/sketch.exp.svg
#	d2renderers/d2sketch/testdata/basic/sketch.exp.svg
#	d2renderers/d2sketch/testdata/child_to_child/sketch.exp.svg
#	d2renderers/d2sketch/testdata/class/sketch.exp.svg
#	d2renderers/d2sketch/testdata/connection_label/sketch.exp.svg
#	d2renderers/d2sketch/testdata/sql_tables/sketch.exp.svg
#	d2renderers/d2sketch/testdata/twitter/sketch.exp.svg
#	d2renderers/d2svg/appendix/testdata/diagram_wider_than_tooltip/sketch.exp.svg
#	d2renderers/d2svg/appendix/testdata/links/sketch.exp.svg
#	d2renderers/d2svg/appendix/testdata/tooltip_wider_than_diagram/sketch.exp.svg
#	d2renderers/d2svg/d2svg.go
#	e2etests/testdata/regression/dagre_edge_label_spacing/dagre/sketch.exp.svg
#	e2etests/testdata/regression/dagre_edge_label_spacing/elk/sketch.exp.svg
#	e2etests/testdata/regression/dagre_special_ids/dagre/sketch.exp.svg
#	e2etests/testdata/regression/dagre_special_ids/elk/sketch.exp.svg
#	e2etests/testdata/regression/elk_alignment/dagre/sketch.exp.svg
#	e2etests/testdata/regression/elk_alignment/elk/sketch.exp.svg
#	e2etests/testdata/regression/elk_img_empty_label_panic/dagre/sketch.exp.svg
#	e2etests/testdata/regression/elk_img_empty_label_panic/elk/sketch.exp.svg
#	e2etests/testdata/regression/elk_order/dagre/sketch.exp.svg
#	e2etests/testdata/regression/elk_order/elk/sketch.exp.svg
#	e2etests/testdata/regression/empty_sequence/dagre/sketch.exp.svg
#	e2etests/testdata/regression/empty_sequence/elk/sketch.exp.svg
#	e2etests/testdata/regression/only_header_class_table/dagre/sketch.exp.svg
#	e2etests/testdata/regression/only_header_class_table/elk/sketch.exp.svg
#	e2etests/testdata/regression/query_param_escape/dagre/sketch.exp.svg
#	e2etests/testdata/regression/query_param_escape/elk/sketch.exp.svg
#	e2etests/testdata/regression/sequence_diagram_name_crash/dagre/sketch.exp.svg
#	e2etests/testdata/regression/sequence_diagram_name_crash/elk/sketch.exp.svg
#	e2etests/testdata/regression/sequence_diagram_no_message/dagre/sketch.exp.svg
#	e2etests/testdata/regression/sequence_diagram_no_message/elk/sketch.exp.svg
#	e2etests/testdata/regression/sequence_diagram_span_cover/dagre/sketch.exp.svg
#	e2etests/testdata/regression/sequence_diagram_span_cover/elk/sketch.exp.svg
#	e2etests/testdata/regression/sql_table_overflow/dagre/sketch.exp.svg
#	e2etests/testdata/regression/sql_table_overflow/elk/sketch.exp.svg
#	e2etests/testdata/regression/unnamed_class_table_code/dagre/sketch.exp.svg
#	e2etests/testdata/regression/unnamed_class_table_code/elk/sketch.exp.svg
#	e2etests/testdata/sanity/1_to_2/dagre/sketch.exp.svg
#	e2etests/testdata/sanity/1_to_2/elk/sketch.exp.svg
#	e2etests/testdata/sanity/basic/dagre/sketch.exp.svg
#	e2etests/testdata/sanity/basic/elk/sketch.exp.svg
#	e2etests/testdata/sanity/child_to_child/dagre/sketch.exp.svg
#	e2etests/testdata/sanity/child_to_child/elk/sketch.exp.svg
#	e2etests/testdata/sanity/connection_label/dagre/sketch.exp.svg
#	e2etests/testdata/sanity/connection_label/elk/sketch.exp.svg
#	e2etests/testdata/stable/all_shapes/dagre/sketch.exp.svg
#	e2etests/testdata/stable/all_shapes/elk/sketch.exp.svg
#	e2etests/testdata/stable/all_shapes_multiple/dagre/sketch.exp.svg
#	e2etests/testdata/stable/all_shapes_multiple/elk/sketch.exp.svg
#	e2etests/testdata/stable/all_shapes_shadow/dagre/sketch.exp.svg
#	e2etests/testdata/stable/all_shapes_shadow/elk/sketch.exp.svg
#	e2etests/testdata/stable/arrowhead_adjustment/dagre/sketch.exp.svg
#	e2etests/testdata/stable/arrowhead_adjustment/elk/sketch.exp.svg
#	e2etests/testdata/stable/arrowhead_labels/dagre/sketch.exp.svg
#	e2etests/testdata/stable/arrowhead_labels/elk/sketch.exp.svg
#	e2etests/testdata/stable/binary_tree/dagre/sketch.exp.svg
#	e2etests/testdata/stable/binary_tree/elk/sketch.exp.svg
#	e2etests/testdata/stable/chaos1/dagre/sketch.exp.svg
#	e2etests/testdata/stable/chaos1/elk/sketch.exp.svg
#	e2etests/testdata/stable/chaos2/dagre/sketch.exp.svg
#	e2etests/testdata/stable/chaos2/elk/sketch.exp.svg
#	e2etests/testdata/stable/child_parent_edges/dagre/sketch.exp.svg
#	e2etests/testdata/stable/child_parent_edges/elk/sketch.exp.svg
#	e2etests/testdata/stable/circular_dependency/dagre/sketch.exp.svg
#	e2etests/testdata/stable/circular_dependency/elk/sketch.exp.svg
#	e2etests/testdata/stable/class/dagre/sketch.exp.svg
#	e2etests/testdata/stable/class/elk/sketch.exp.svg
#	e2etests/testdata/stable/code_snippet/dagre/sketch.exp.svg
#	e2etests/testdata/stable/code_snippet/elk/sketch.exp.svg
#	e2etests/testdata/stable/connected_container/dagre/sketch.exp.svg
#	e2etests/testdata/stable/connected_container/elk/sketch.exp.svg
#	e2etests/testdata/stable/constant_near_stress/dagre/board.exp.json
#	e2etests/testdata/stable/constant_near_stress/dagre/sketch.exp.svg
#	e2etests/testdata/stable/constant_near_stress/elk/board.exp.json
#	e2etests/testdata/stable/constant_near_stress/elk/sketch.exp.svg
#	e2etests/testdata/stable/constant_near_title/dagre/sketch.exp.svg
#	e2etests/testdata/stable/constant_near_title/elk/sketch.exp.svg
#	e2etests/testdata/stable/container_edges/dagre/sketch.exp.svg
#	e2etests/testdata/stable/container_edges/elk/sketch.exp.svg
#	e2etests/testdata/stable/dense/dagre/sketch.exp.svg
#	e2etests/testdata/stable/dense/elk/sketch.exp.svg
#	e2etests/testdata/stable/different_subgraphs/dagre/sketch.exp.svg
#	e2etests/testdata/stable/different_subgraphs/elk/sketch.exp.svg
#	e2etests/testdata/stable/direction/dagre/sketch.exp.svg
#	e2etests/testdata/stable/direction/elk/sketch.exp.svg
#	e2etests/testdata/stable/font_colors/dagre/sketch.exp.svg
#	e2etests/testdata/stable/font_colors/elk/sketch.exp.svg
#	e2etests/testdata/stable/font_sizes/dagre/sketch.exp.svg
#	e2etests/testdata/stable/font_sizes/elk/sketch.exp.svg
#	e2etests/testdata/stable/giant_markdown_test/dagre/sketch.exp.svg
#	e2etests/testdata/stable/giant_markdown_test/elk/sketch.exp.svg
#	e2etests/testdata/stable/hr/dagre/sketch.exp.svg
#	e2etests/testdata/stable/hr/elk/sketch.exp.svg
#	e2etests/testdata/stable/icon-label/dagre/sketch.exp.svg
#	e2etests/testdata/stable/icon-label/elk/sketch.exp.svg
#	e2etests/testdata/stable/images/dagre/sketch.exp.svg
#	e2etests/testdata/stable/images/elk/sketch.exp.svg
#	e2etests/testdata/stable/investigate/dagre/sketch.exp.svg
#	e2etests/testdata/stable/investigate/elk/sketch.exp.svg
#	e2etests/testdata/stable/large_arch/dagre/sketch.exp.svg
#	e2etests/testdata/stable/large_arch/elk/sketch.exp.svg
#	e2etests/testdata/stable/latex/dagre/sketch.exp.svg
#	e2etests/testdata/stable/latex/elk/sketch.exp.svg
#	e2etests/testdata/stable/li1/dagre/sketch.exp.svg
#	e2etests/testdata/stable/li1/elk/sketch.exp.svg
#	e2etests/testdata/stable/li2/dagre/sketch.exp.svg
#	e2etests/testdata/stable/li2/elk/sketch.exp.svg
#	e2etests/testdata/stable/li3/dagre/sketch.exp.svg
#	e2etests/testdata/stable/li3/elk/sketch.exp.svg
#	e2etests/testdata/stable/li4/dagre/sketch.exp.svg
#	e2etests/testdata/stable/li4/elk/sketch.exp.svg
#	e2etests/testdata/stable/links/dagre/sketch.exp.svg
#	e2etests/testdata/stable/links/elk/sketch.exp.svg
#	e2etests/testdata/stable/lone_h1/dagre/sketch.exp.svg
#	e2etests/testdata/stable/lone_h1/elk/sketch.exp.svg
#	e2etests/testdata/stable/markdown/dagre/sketch.exp.svg
#	e2etests/testdata/stable/markdown/elk/sketch.exp.svg
#	e2etests/testdata/stable/markdown_stroke_fill/dagre/sketch.exp.svg
#	e2etests/testdata/stable/markdown_stroke_fill/elk/sketch.exp.svg
#	e2etests/testdata/stable/md_2space_newline/dagre/sketch.exp.svg
#	e2etests/testdata/stable/md_2space_newline/elk/sketch.exp.svg
#	e2etests/testdata/stable/md_backslash_newline/dagre/sketch.exp.svg
#	e2etests/testdata/stable/md_backslash_newline/elk/sketch.exp.svg
#	e2etests/testdata/stable/md_code_block_fenced/dagre/sketch.exp.svg
#	e2etests/testdata/stable/md_code_block_fenced/elk/sketch.exp.svg
#	e2etests/testdata/stable/md_code_block_indented/dagre/sketch.exp.svg
#	e2etests/testdata/stable/md_code_block_indented/elk/sketch.exp.svg
#	e2etests/testdata/stable/md_code_inline/dagre/sketch.exp.svg
#	e2etests/testdata/stable/md_code_inline/elk/sketch.exp.svg
#	e2etests/testdata/stable/multiline_text/dagre/sketch.exp.svg
#	e2etests/testdata/stable/multiline_text/elk/sketch.exp.svg
#	e2etests/testdata/stable/multiple_trees/dagre/sketch.exp.svg
#	e2etests/testdata/stable/multiple_trees/elk/sketch.exp.svg
#	e2etests/testdata/stable/n22_e32/dagre/sketch.exp.svg
#	e2etests/testdata/stable/n22_e32/elk/sketch.exp.svg
#	e2etests/testdata/stable/number_connections/dagre/sketch.exp.svg
#	e2etests/testdata/stable/number_connections/elk/sketch.exp.svg
#	e2etests/testdata/stable/one_container_loop/dagre/sketch.exp.svg
#	e2etests/testdata/stable/one_container_loop/elk/sketch.exp.svg
#	e2etests/testdata/stable/one_three_one_container/dagre/sketch.exp.svg
#	e2etests/testdata/stable/one_three_one_container/elk/sketch.exp.svg
#	e2etests/testdata/stable/overlapping_image_container_labels/dagre/sketch.exp.svg
#	e2etests/testdata/stable/overlapping_image_container_labels/elk/sketch.exp.svg
#	e2etests/testdata/stable/p/dagre/sketch.exp.svg
#	e2etests/testdata/stable/p/elk/sketch.exp.svg
#	e2etests/testdata/stable/pre/dagre/sketch.exp.svg
#	e2etests/testdata/stable/pre/elk/sketch.exp.svg
#	e2etests/testdata/stable/self-referencing/dagre/sketch.exp.svg
#	e2etests/testdata/stable/self-referencing/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_actor_distance/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_actor_distance/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_all_shapes/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_distance/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_distance/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_groups/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_long_note/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_long_note/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_nested_groups/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_nested_groups/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_nested_span/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_note/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_note/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_real/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_real/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_self_edges/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_self_edges/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_simple/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_span/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sequence_diagrams/elk/sketch.exp.svg
#	e2etests/testdata/stable/sql_tables/dagre/sketch.exp.svg
#	e2etests/testdata/stable/sql_tables/elk/sketch.exp.svg
#	e2etests/testdata/stable/square_3d/dagre/sketch.exp.svg
#	e2etests/testdata/stable/square_3d/elk/sketch.exp.svg
#	e2etests/testdata/stable/straight_hierarchy_container/dagre/sketch.exp.svg
#	e2etests/testdata/stable/straight_hierarchy_container/elk/sketch.exp.svg
#	e2etests/testdata/stable/stylish/dagre/sketch.exp.svg
#	e2etests/testdata/stable/stylish/elk/sketch.exp.svg
#	e2etests/testdata/stable/text_font_sizes/dagre/sketch.exp.svg
#	e2etests/testdata/stable/text_font_sizes/elk/sketch.exp.svg
#	e2etests/testdata/stable/tooltips/dagre/sketch.exp.svg
#	e2etests/testdata/stable/tooltips/elk/sketch.exp.svg
#	e2etests/testdata/stable/transparent_3d/dagre/sketch.exp.svg
#	e2etests/testdata/stable/transparent_3d/elk/sketch.exp.svg
#	e2etests/testdata/stable/unnamed_only_height/dagre/sketch.exp.svg
#	e2etests/testdata/stable/unnamed_only_height/elk/sketch.exp.svg
#	e2etests/testdata/stable/unnamed_only_width/dagre/sketch.exp.svg
#	e2etests/testdata/stable/unnamed_only_width/elk/sketch.exp.svg
#	e2etests/testdata/stable/us_map/dagre/sketch.exp.svg
#	e2etests/testdata/stable/us_map/elk/sketch.exp.svg
#	e2etests/testdata/todo/container_child_edge/dagre/sketch.exp.svg
#	e2etests/testdata/todo/container_child_edge/elk/sketch.exp.svg
#	e2etests/testdata/todo/font_sizes_containers_large/dagre/sketch.exp.svg
#	e2etests/testdata/todo/font_sizes_containers_large/elk/sketch.exp.svg
#	e2etests/testdata/todo/font_sizes_large/dagre/sketch.exp.svg
#	e2etests/testdata/todo/font_sizes_large/elk/sketch.exp.svg
#	e2etests/testdata/todo/sequence_diagram_actor_padding_nested_groups/dagre/sketch.exp.svg
#	e2etests/testdata/todo/sequence_diagram_actor_padding_nested_groups/elk/sketch.exp.svg
#	e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg
#	e2etests/testdata/todo/shape_set_width_height/elk/sketch.exp.svg
#	e2etests/testdata/todo/tall_edge_label/dagre/sketch.exp.svg
#	e2etests/testdata/todo/tall_edge_label/elk/sketch.exp.svg
2023-01-24 17:30:28 +08:00
OneRain2333
ca08c8937d update constant 2023-01-24 16:25:29 +08:00
OneRain2333
21b84a3908 Use constant to define offset of double-bordered shape 2023-01-24 16:24:32 +08:00
OneRain2333
9302a14e02 fix typo 2023-01-24 16:24:32 +08:00
OneRain2333
e588b86c04 add borderOffset variable 2023-01-24 16:24:32 +08:00
OneRain2333
344718dad3 Remove double circle shape 2023-01-24 16:21:25 +08:00
OneRain2333
9575c768dc Make to be a style attribute and remove shape 2023-01-24 16:21:25 +08:00
OneRain2333
8bb86250fb Add double circle shape 2023-01-24 16:21:25 +08:00
OneRain2333
c19d90eb20 Use constant to define offset of double-bordered shape 2023-01-22 18:21:30 +08:00
OneRain2333
be73f4b2b2 fix typo 2023-01-22 17:53:10 +08:00
OneRain2333
0ad266f1c8 add borderOffset variable 2023-01-22 16:50:14 +08:00
Alexander Wang
a1bebb8b23
Merge pull request #634 from Paracelsus-Rose/master
d2renderer: #579 Circle Arrowhead
2023-01-19 17:56:36 -08:00
Alexander Wang
e2ee813f37
support border-radius
Co-authored-by: Apostolis Anastasiou <anastasiou@inaccess.com>
2023-01-19 15:28:00 -08:00
Alexander Wang
2966d393ae
fix bounding box for multiple 2023-01-19 12:39:12 -08:00
Alexander Wang
caa23a7699
ok 2023-01-19 12:28:10 -08:00
Alexander Wang
2d17947a44
account for 3d offset in bounding box 2023-01-19 11:51:30 -08:00
Paracelsus-Rose
fd43527da0
Merge branch 'master' of github.com:terrastruct/d2 into terrastruct-master 2023-01-19 14:38:24 -05:00
Alexander Wang
d832fdd6af
fix 2023-01-19 00:46:30 -08:00
Vojtěch Fošnár
1e89c33cee
removed theming code from styling methods 2023-01-15 21:38:25 +01:00
Vojtěch Fošnár
66dc978418
resolved merge conflict 2023-01-15 21:36:43 +01:00