diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md index 75ccfabe5..bcfad37ae 100644 --- a/ci/release/changelogs/next.md +++ b/ci/release/changelogs/next.md @@ -4,6 +4,7 @@ - `--animate-interval` can be passed as a flag to animate multi-board diagrams. See [docs](https://d2lang.com/todo). [#1088](https://github.com/terrastruct/d2/pull/1088) - `paper` is available as a `fill-pattern` option [#1070](https://github.com/terrastruct/d2/pull/1070) - fonts are now subsetted to reduce svg file size [#1089](https://github.com/terrastruct/d2/pull/1089) +- New theme: Origami [#1110](https://github.com/terrastruct/d2/pull/1110) #### Improvements 🧹 diff --git a/d2exporter/export.go b/d2exporter/export.go index 16ba3787b..bbcac39f2 100644 --- a/d2exporter/export.go +++ b/d2exporter/export.go @@ -62,6 +62,10 @@ func applyTheme(shape *d2target.Shape, obj *d2graph.Object, theme *d2themes.Them if len(obj.ChildrenArray) > 0 { shape.FillPattern = "dots" } + } else if theme.SpecialRules.ContainerPaper { + if len(obj.ChildrenArray) > 0 { + shape.FillPattern = "paper" + } } if theme.SpecialRules.Mono { shape.FontFamily = "mono" diff --git a/d2themes/d2themes.go b/d2themes/d2themes.go index 7b6e1c267..12556a8f2 100644 --- a/d2themes/d2themes.go +++ b/d2themes/d2themes.go @@ -18,6 +18,8 @@ type SpecialRules struct { OuterContainerDoubleBorder bool `json:"outerContainerDoubleBorder"` ContainerDots bool `json:"containerDots"` CapsLock bool `json:"capsLock"` + + ContainerPaper bool `json:"containerPaper"` } func (t *Theme) IsDark() bool { diff --git a/d2themes/d2themescatalog/catalog.go b/d2themes/d2themescatalog/catalog.go index ee86ac751..32075173c 100644 --- a/d2themes/d2themescatalog/catalog.go +++ b/d2themes/d2themescatalog/catalog.go @@ -24,6 +24,7 @@ var LightCatalog = []d2themes.Theme{ ButteredToast, Terminal, TerminalGrayscale, + Origami, } var DarkCatalog = []d2themes.Theme{ diff --git a/d2themes/d2themescatalog/origami.go b/d2themes/d2themescatalog/origami.go new file mode 100644 index 000000000..7b9f33d0d --- /dev/null +++ b/d2themes/d2themescatalog/origami.go @@ -0,0 +1,40 @@ +package d2themescatalog + +import "oss.terrastruct.com/d2/d2themes" + +var Origami = d2themes.Theme{ + ID: 302, + Name: "Origami", + Colors: d2themes.ColorPalette{ + Neutrals: OrigamiNeutral, + + B1: "#170206", + B2: "#A62543", + B3: "#E07088", + B4: "#F3E0D2", + B5: "#FAF1E6", + B6: "#FFFBF8", + + AA2: "#0A4EA6", + AA4: "#3182CD", + AA5: "#68A8E4", + + AB4: "#E07088", + AB5: "#F19CAE", + }, + SpecialRules: d2themes.SpecialRules{ + NoCornerRadius: true, + OuterContainerDoubleBorder: true, + ContainerPaper: true, + }, +} + +var OrigamiNeutral = d2themes.Neutral{ + N1: "#170206", + N2: "#6F0019", + N3: "#FFFFFF", + N4: "#E07088", + N5: "#D2B098", + N6: "#FFFFFF", + N7: "#FFFFFF", +} diff --git a/e2etests/testdata/themes/origami/dagre/board.exp.json b/e2etests/testdata/themes/origami/dagre/board.exp.json new file mode 100644 index 000000000..e6a846264 --- /dev/null +++ b/e2etests/testdata/themes/origami/dagre/board.exp.json @@ -0,0 +1,1104 @@ +{ + "name": "", + "isFolderOnly": false, + "fontFamily": "SourceSansPro", + "shapes": [ + { + "id": "network", + "type": "rectangle", + "pos": { + "x": 0, + "y": 275 + }, + "width": 351, + "height": 1225, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B4", + "fillPattern": "paper", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": true, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "通信網", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 104, + "labelHeight": 36, + "labelPosition": "OUTSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "network.cell tower", + "type": "rectangle", + "pos": { + "x": 95, + "y": 340 + }, + "width": 237, + "height": 317, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B5", + "fillPattern": "paper", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "cell tower", + "fontSize": 24, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 99, + "labelHeight": 31, + "labelPosition": "OUTSIDE_TOP_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "network.cell tower.satellites", + "type": "stored_data", + "pos": { + "x": 161, + "y": 372 + }, + "width": 104, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "AA5", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": true, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "衛星", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 39, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 3 + }, + { + "id": "network.cell tower.transmitter", + "type": "rectangle", + "pos": { + "x": 161, + "y": 559 + }, + "width": 104, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B6", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "送信機", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 59, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 3 + }, + { + "id": "network.online portal", + "type": "rectangle", + "pos": { + "x": 20, + "y": 1319 + }, + "width": 144, + "height": 151, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B5", + "fillPattern": "paper", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "オンラインポータル", + "fontSize": 24, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 271, + "labelHeight": 31, + "labelPosition": "OUTSIDE_TOP_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "network.online portal.ui", + "type": "hexagon", + "pos": { + "x": 65, + "y": 1360 + }, + "width": 59, + "height": 69, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "N5", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "ui", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 14, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 3 + }, + { + "id": "network.data processor", + "type": "rectangle", + "pos": { + "x": 121, + "y": 814 + }, + "width": 184, + "height": 182, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B5", + "fillPattern": "paper", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "データプロセッサ", + "fontSize": 24, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 241, + "labelHeight": 31, + "labelPosition": "OUTSIDE_TOP_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "network.data processor.storage", + "type": "cylinder", + "pos": { + "x": 161, + "y": 846 + }, + "width": 104, + "height": 118, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "AA5", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": true, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "保管所", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 59, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 3 + }, + { + "id": "user", + "type": "person", + "pos": { + "x": 66, + "y": 0 + }, + "width": 130, + "height": 87, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B3", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "ユーザー", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 79, + "labelHeight": 21, + "labelPosition": "OUTSIDE_BOTTOM_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "api server", + "type": "rectangle", + "pos": { + "x": 392, + "y": 1076 + }, + "width": 153, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B6", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "API サーバー", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 108, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "logs", + "type": "page", + "pos": { + "x": 426, + "y": 1313 + }, + "width": 84, + "height": 87, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "AB4", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": true, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "ログ", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 39, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + } + ], + "connections": [ + { + "id": "network.cell tower.(satellites -> transmitter)[0]", + "src": "network.cell tower.satellites", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.cell tower.transmitter", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "send", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 33, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 194, + "y": 439 + }, + { + "x": 166, + "y": 487 + }, + { + "x": 166, + "y": 511.2 + }, + { + "x": 194, + "y": 560 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "network.cell tower.(satellites -> transmitter)[1]", + "src": "network.cell tower.satellites", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.cell tower.transmitter", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "send", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 33, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 213, + "y": 439 + }, + { + "x": 213.2, + "y": 487 + }, + { + "x": 213.25, + "y": 511.2 + }, + { + "x": 213.25, + "y": 560 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "network.cell tower.(satellites -> transmitter)[2]", + "src": "network.cell tower.satellites", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.cell tower.transmitter", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "send", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 33, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 233, + "y": 439 + }, + { + "x": 260.6, + "y": 487 + }, + { + "x": 260.5, + "y": 511.2 + }, + { + "x": 232.5, + "y": 560 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "network.(cell tower.transmitter -> data processor.storage)[0]", + "src": "network.cell tower.transmitter", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.data processor.storage", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "電話ログ", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 77, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 213.25, + "y": 625.5 + }, + { + "x": 213.25, + "y": 651.1 + }, + { + "x": 213.25, + "y": 669.6 + }, + { + "x": 213.25, + "y": 687.75 + }, + { + "x": 213.25, + "y": 705.9 + }, + { + "x": 213.2, + "y": 792.2 + }, + { + "x": 213, + "y": 847 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(user -> network.cell tower)[0]", + "src": "user", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.cell tower", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "電話をかける", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 116, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 152, + "y": 87 + }, + { + "x": 201, + "y": 156.2 + }, + { + "x": 213.25, + "y": 248.2 + }, + { + "x": 213.25, + "y": 305 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(user -> network.online portal.ui)[0]", + "src": "user", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.online portal.ui", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 3, + "strokeWidth": 2, + "stroke": "B2", + "label": "アクセス", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 77, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 116, + "y": 87 + }, + { + "x": 83, + "y": 156.2 + }, + { + "x": 74.75, + "y": 185.6 + }, + { + "x": 74.75, + "y": 203.75 + }, + { + "x": 74.75, + "y": 221.9 + }, + { + "x": 74.75, + "y": 244 + }, + { + "x": 74.75, + "y": 259 + }, + { + "x": 74.75, + "y": 274 + }, + { + "x": 74.75, + "y": 300.6 + }, + { + "x": 74.75, + "y": 325.5 + }, + { + "x": 74.75, + "y": 350.4 + }, + { + "x": 74.75, + "y": 385.7 + }, + { + "x": 74.75, + "y": 413.75 + }, + { + "x": 74.75, + "y": 441.8 + }, + { + "x": 74.75, + "y": 479.2 + }, + { + "x": 74.75, + "y": 507.25 + }, + { + "x": 74.75, + "y": 535.3 + }, + { + "x": 74.75, + "y": 570.6 + }, + { + "x": 74.75, + "y": 595.5 + }, + { + "x": 74.75, + "y": 620.4 + }, + { + "x": 74.75, + "y": 649.1 + }, + { + "x": 74.75, + "y": 667.25 + }, + { + "x": 74.75, + "y": 685.4 + }, + { + "x": 74.75, + "y": 709.6 + }, + { + "x": 74.75, + "y": 727.75 + }, + { + "x": 74.75, + "y": 745.9 + }, + { + "x": 74.75, + "y": 779.8 + }, + { + "x": 74.75, + "y": 812.5 + }, + { + "x": 74.75, + "y": 845.2 + }, + { + "x": 74.75, + "y": 888.8 + }, + { + "x": 74.75, + "y": 921.5 + }, + { + "x": 74.75, + "y": 954.2 + }, + { + "x": 74.75, + "y": 986 + }, + { + "x": 74.75, + "y": 1001 + }, + { + "x": 74.75, + "y": 1016 + }, + { + "x": 74.75, + "y": 1042.6 + }, + { + "x": 74.75, + "y": 1067.5 + }, + { + "x": 74.75, + "y": 1092.4 + }, + { + "x": 74.75, + "y": 1127.7 + }, + { + "x": 74.75, + "y": 1155.75 + }, + { + "x": 74.75, + "y": 1183.8 + }, + { + "x": 77.2, + "y": 1282.6 + }, + { + "x": 87, + "y": 1361 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(api server -> network.online portal.ui)[0]", + "src": "api server", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.online portal.ui", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "画面", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 39, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 391.75, + "y": 1129.4949856733524 + }, + { + "x": 173.75, + "y": 1187.8989971346705 + }, + { + "x": 116, + "y": 1282.6 + }, + { + "x": 103, + "y": 1361 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(api server -> logs)[0]", + "src": "api server", + "srcArrow": "none", + "srcLabel": "", + "dst": "logs", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "持続する", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 77, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 468.25, + "y": 1142 + }, + { + "x": 468.25, + "y": 1190.4 + }, + { + "x": 468.2, + "y": 1273 + }, + { + "x": 468, + "y": 1313 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(network.data processor -> api server)[0]", + "src": "network.data processor", + "srcArrow": "none", + "srcLabel": "", + "dst": "api server", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "labelPosition": "", + "labelPercentage": 0, + "route": [ + { + "x": 213.25, + "y": 996.5 + }, + { + "x": 213.25, + "y": 1020.1 + }, + { + "x": 248.95, + "y": 1037.62 + }, + { + "x": 391.75, + "y": 1084.1 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ], + "root": { + "id": "", + "type": "", + "pos": { + "x": 0, + "y": 0 + }, + "width": 0, + "height": 0, + "opacity": 0, + "strokeDash": 0, + "strokeWidth": 0, + "borderRadius": 0, + "fill": "N7", + "stroke": "", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "", + "fontSize": 0, + "fontFamily": "", + "language": "", + "color": "", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "zIndex": 0, + "level": 0 + } +} diff --git a/e2etests/testdata/themes/origami/dagre/sketch.exp.svg b/e2etests/testdata/themes/origami/dagre/sketch.exp.svg new file mode 100644 index 000000000..dafe452ab --- /dev/null +++ b/e2etests/testdata/themes/origami/dagre/sketch.exp.svg @@ -0,0 +1,1180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +通信網ユーザーAPI サーバーログcell towerオンラインポータルデータプロセッサ衛星送信機ui保管所 sendsendsend電話ログ電話をかける アクセス画面持続する + + + + + + + + + + \ No newline at end of file diff --git a/e2etests/testdata/themes/origami/elk/board.exp.json b/e2etests/testdata/themes/origami/elk/board.exp.json new file mode 100644 index 000000000..155236329 --- /dev/null +++ b/e2etests/testdata/themes/origami/elk/board.exp.json @@ -0,0 +1,895 @@ +{ + "name": "", + "isFolderOnly": false, + "fontFamily": "SourceSansPro", + "shapes": [ + { + "id": "network", + "type": "rectangle", + "pos": { + "x": 12, + "y": 311 + }, + "width": 690, + "height": 902, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B4", + "fillPattern": "paper", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": true, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "通信網", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 104, + "labelHeight": 36, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "network.cell tower", + "type": "rectangle", + "pos": { + "x": 94, + "y": 361 + }, + "width": 222, + "height": 413, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B5", + "fillPattern": "paper", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "cell tower", + "fontSize": 24, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 99, + "labelHeight": 31, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "network.cell tower.satellites", + "type": "stored_data", + "pos": { + "x": 145, + "y": 411 + }, + "width": 120, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "AA5", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": true, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "衛星", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 39, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 3 + }, + { + "id": "network.cell tower.transmitter", + "type": "rectangle", + "pos": { + "x": 145, + "y": 658 + }, + "width": 120, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B6", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "送信機", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 59, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 3 + }, + { + "id": "network.online portal", + "type": "rectangle", + "pos": { + "x": 336, + "y": 366 + }, + "width": 316, + "height": 169, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B5", + "fillPattern": "paper", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "オンラインポータル", + "fontSize": 24, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 271, + "labelHeight": 31, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "network.online portal.ui", + "type": "hexagon", + "pos": { + "x": 454, + "y": 416 + }, + "width": 80, + "height": 69, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "N5", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "ui", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 14, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 3 + }, + { + "id": "network.data processor", + "type": "rectangle", + "pos": { + "x": 62, + "y": 945 + }, + "width": 286, + "height": 218, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B5", + "fillPattern": "paper", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "データプロセッサ", + "fontSize": 24, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 241, + "labelHeight": 31, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "network.data processor.storage", + "type": "cylinder", + "pos": { + "x": 153, + "y": 995 + }, + "width": 104, + "height": 118, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "AA5", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": true, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "保管所", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 59, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 3 + }, + { + "id": "user", + "type": "person", + "pos": { + "x": 341, + "y": 12 + }, + "width": 130, + "height": 87, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B3", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "ユーザー", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 79, + "labelHeight": 21, + "labelPosition": "OUTSIDE_BOTTOM_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "api server", + "type": "rectangle", + "pos": { + "x": 666, + "y": 59 + }, + "width": 153, + "height": 66, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "B6", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "API サーバー", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 108, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "logs", + "type": "page", + "pos": { + "x": 782, + "y": 311 + }, + "width": 84, + "height": 87, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "AB4", + "stroke": "B1", + "shadow": false, + "3d": false, + "multiple": true, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "ログ", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N1", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 39, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 1 + } + ], + "connections": [ + { + "id": "network.cell tower.(satellites -> transmitter)[0]", + "src": "network.cell tower.satellites", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.cell tower.transmitter", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "send", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 33, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 161, + "y": 477 + }, + { + "x": 161, + "y": 658 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "network.cell tower.(satellites -> transmitter)[1]", + "src": "network.cell tower.satellites", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.cell tower.transmitter", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "send", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 33, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 205, + "y": 477 + }, + { + "x": 205, + "y": 658 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "network.cell tower.(satellites -> transmitter)[2]", + "src": "network.cell tower.satellites", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.cell tower.transmitter", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "send", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 33, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 249, + "y": 477 + }, + { + "x": 249, + "y": 658 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "network.(cell tower.transmitter -> data processor.storage)[0]", + "src": "network.cell tower.transmitter", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.data processor.storage", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "電話ログ", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 77, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 205, + "y": 724 + }, + { + "x": 205, + "y": 995 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(user -> network.cell tower)[0]", + "src": "user", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.cell tower", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "電話をかける", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 116, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 385, + "y": 99 + }, + { + "x": 384.5833333333333, + "y": 165 + }, + { + "x": 259.3333333333333, + "y": 165 + }, + { + "x": 259.3333333333333, + "y": 361 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(user -> network.online portal.ui)[0]", + "src": "user", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.online portal.ui", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 3, + "strokeWidth": 2, + "stroke": "B2", + "label": "アクセス", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 77, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 428, + "y": 99 + }, + { + "x": 427.91666666666663, + "y": 165 + }, + { + "x": 481.16666666666663, + "y": 165 + }, + { + "x": 481, + "y": 416 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(api server -> network.online portal.ui)[0]", + "src": "api server", + "srcArrow": "none", + "srcLabel": "", + "dst": "network.online portal.ui", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "画面", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 39, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 704.25, + "y": 125 + }, + { + "x": 704.25, + "y": 266 + }, + { + "x": 507.83333333333337, + "y": 266 + }, + { + "x": 508, + "y": 416 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(api server -> logs)[0]", + "src": "api server", + "srcArrow": "none", + "srcLabel": "", + "dst": "logs", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "持続する", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 77, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 780.75, + "y": 125 + }, + { + "x": 780.75, + "y": 165 + }, + { + "x": 824.5, + "y": 165 + }, + { + "x": 825, + "y": 311 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(network.data processor -> api server)[0]", + "src": "network.data processor", + "srcArrow": "none", + "srcLabel": "", + "dst": "api server", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "B1", + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "N2", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "labelPosition": "", + "labelPercentage": 0, + "route": [ + { + "x": 153, + "y": 1163 + }, + { + "x": 153, + "y": 1258 + }, + { + "x": 742.5, + "y": 1258 + }, + { + "x": 742.5, + "y": 125 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ], + "root": { + "id": "", + "type": "", + "pos": { + "x": 0, + "y": 0 + }, + "width": 0, + "height": 0, + "opacity": 0, + "strokeDash": 0, + "strokeWidth": 0, + "borderRadius": 0, + "fill": "N7", + "stroke": "", + "shadow": false, + "3d": false, + "multiple": false, + "double-border": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "", + "fontSize": 0, + "fontFamily": "", + "language": "", + "color": "", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 0, + "labelHeight": 0, + "zIndex": 0, + "level": 0 + } +} diff --git a/e2etests/testdata/themes/origami/elk/sketch.exp.svg b/e2etests/testdata/themes/origami/elk/sketch.exp.svg new file mode 100644 index 000000000..0c0fefb82 --- /dev/null +++ b/e2etests/testdata/themes/origami/elk/sketch.exp.svg @@ -0,0 +1,1180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +通信網ユーザーAPI サーバーログcell towerオンラインポータルデータプロセッサ衛星送信機ui保管所 sendsendsend電話ログ電話をかける アクセス画面持続する + + + + + + + + + + \ No newline at end of file diff --git a/e2etests/themes_test.go b/e2etests/themes_test.go index d44bcf760..a7d60cc57 100644 --- a/e2etests/themes_test.go +++ b/e2etests/themes_test.go @@ -153,6 +153,56 @@ api server -> network.online portal.ui: display api server -> logs: persist logs: { shape: page; style.multiple: true } +network.data processor -> api server +`, + }, + { + name: "origami", + themeID: d2themescatalog.Origami.ID, + script: ` +network: 通信網 { + cell tower: { + satellites: 衛星 { + shape: stored_data + style.multiple: true + } + + transmitter: 送信機 + + satellites -> transmitter: send + satellites -> transmitter: send + satellites -> transmitter: send + } + + online portal: オンラインポータル { + ui: { shape: hexagon } + } + + data processor: データプロセッサ { + storage: 保管所 { + shape: cylinder + style.multiple: true + } + } + + cell tower.transmitter -> data processor.storage: 電話ログ +} + +user: ユーザー { + shape: person + width: 130 +} + +user -> network.cell tower: 電話をかける +user -> network.online portal.ui: アクセス { + style.stroke-dash: 3 +} + +api server: API サーバー +api server -> network.online portal.ui: 画面 +api server -> logs: 持続する +logs: ログ { shape: page; style.multiple: true } + network.data processor -> api server `, },