Merge pull request #483 from gavin-ts/use-elk-edge-label-positioning

render: use elk edge label positioning
This commit is contained in:
gavin-ts 2022-12-20 15:49:58 -08:00 committed by GitHub
commit e69d476b66
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 2278 additions and 243 deletions

View file

@ -8,3 +8,4 @@
- `d2 fmt` only rewrites if it has changes, instead of always rewriting. [#470](https://github.com/terrastruct/d2/pull/470)
- Fixed an issue where text could overflow in sql_table shapes. [#458](https://github.com/terrastruct/d2/pull/458)
- Fixed an issue with elk layouts accounting for edge labels as if they were placed on the side of the edge. [#483](https://github.com/terrastruct/d2/pull/483)

View file

@ -43,11 +43,12 @@ type ELKNode struct {
}
type ELKLabel struct {
Text string `json:"text"`
X float64 `json:"x"`
Y float64 `json:"y"`
Width float64 `json:"width"`
Height float64 `json:"height"`
Text string `json:"text"`
X float64 `json:"x"`
Y float64 `json:"y"`
Width float64 `json:"width"`
Height float64 `json:"height"`
LayoutOptions *ELKLayoutOptions `json:"layoutOptions,omitempty"`
}
type ELKPoint struct {
@ -85,6 +86,7 @@ type ELKLayoutOptions struct {
EdgeNodeSpacing float64 `json:"spacing.edgeNodeBetweenLayers,omitempty"`
Direction string `json:"elk.direction"`
SelfLoopSpacing float64 `json:"elk.spacing.nodeSelfLoop"`
InlineEdgeLabels bool `json:"elk.edgeLabels.inline,omitempty"`
}
func Layout(ctx context.Context, g *d2graph.Graph) (err error) {
@ -186,6 +188,9 @@ func Layout(ctx context.Context, g *d2graph.Graph) (err error) {
Text: edge.Attributes.Label.Value,
Width: float64(edge.LabelDimensions.Width),
Height: float64(edge.LabelDimensions.Height),
LayoutOptions: &ELKLayoutOptions{
InlineEdgeLabels: true,
},
})
}
elkGraph.Edges = append(elkGraph.Edges, e)

View file

@ -69,6 +69,85 @@ table_constrained: sql_table_constrained_overflow {
constraint: foreign_key
}
}
`,
},
{
name: "elk_alignment",
script: `
direction: down
build_workflow: lambda-build.yaml {
push: Push to main branch {
style.font-size: 25
}
GHA: GitHub Actions {
style.font-size: 25
}
S3.style.font-size: 25
Terraform.style.font-size: 25
AWS.style.font-size: 25
push -> GHA: Triggers {
style.font-size: 20
}
GHA -> S3: Builds zip and pushes it {
style.font-size: 20
}
S3 <-> Terraform: Pulls zip to deploy {
style.font-size: 20
}
Terraform -> AWS: Changes live lambdas {
style.font-size: 20
}
}
deploy_workflow: lambda-deploy.yaml {
manual: Manual Trigger {
style.font-size: 25
}
GHA: GitHub Actions {
style.font-size: 25
}
AWS.style.font-size: 25
Manual -> GHA: Launches {
style.font-size: 20
}
GHA -> AWS: Builds zip\npushes them to S3.\n\nDeploys lambdas\nusing Terraform {
style.font-size: 20
}
}
apollo_workflow: apollo-deploy.yaml {
apollo: Apollo Repo {
style.font-size: 25
}
GHA: GitHub Actions {
style.font-size: 25
}
AWS.style.font-size: 25
apollo -> GHA: Triggered manually/push to master test test test test test test test {
style.font-size: 20
}
GHA -> AWS: test {
style.font-size: 20
}
}
`,
},
}

View file

@ -0,0 +1,951 @@
{
"name": "",
"shapes": [
{
"id": "build_workflow",
"type": "",
"pos": {
"x": 0,
"y": 0
},
"width": 430,
"height": 1235,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "lambda-build.yaml",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 226,
"labelHeight": 41,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "build_workflow.push",
"type": "",
"pos": {
"x": 50,
"y": 50
},
"width": 330,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "Push to main branch",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 230,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "build_workflow.GHA",
"type": "",
"pos": {
"x": 81,
"y": 287
},
"width": 269,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "GitHub Actions",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 169,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "build_workflow.S3",
"type": "",
"pos": {
"x": 150,
"y": 524
},
"width": 131,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "S3",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 31,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "build_workflow.Terraform",
"type": "",
"pos": {
"x": 106,
"y": 811
},
"width": 218,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "Terraform",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 118,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "build_workflow.AWS",
"type": "",
"pos": {
"x": 138,
"y": 1048
},
"width": 155,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "AWS",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 55,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "deploy_workflow",
"type": "",
"pos": {
"x": 470,
"y": 0
},
"width": 371,
"height": 711,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "lambda-deploy.yaml",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 247,
"labelHeight": 41,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "deploy_workflow.manual",
"type": "",
"pos": {
"x": 520,
"y": 50
},
"width": 271,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "Manual Trigger",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 171,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "deploy_workflow.GHA",
"type": "",
"pos": {
"x": 521,
"y": 287
},
"width": 269,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "GitHub Actions",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 169,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "deploy_workflow.AWS",
"type": "",
"pos": {
"x": 578,
"y": 524
},
"width": 155,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "AWS",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 55,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "apollo_workflow",
"type": "",
"pos": {
"x": 881,
"y": 0
},
"width": 369,
"height": 711,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "apollo-deploy.yaml",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 232,
"labelHeight": 41,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "apollo_workflow.apollo",
"type": "",
"pos": {
"x": 947,
"y": 50
},
"width": 238,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "Apollo Repo",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 138,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "apollo_workflow.GHA",
"type": "",
"pos": {
"x": 931,
"y": 287
},
"width": 269,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "GitHub Actions",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 169,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "apollo_workflow.AWS",
"type": "",
"pos": {
"x": 988,
"y": 524
},
"width": 155,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "AWS",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 55,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
}
],
"connections": [
{
"id": "build_workflow.(push -> GHA)[0]",
"src": "build_workflow.push",
"srcArrow": "none",
"srcLabel": "",
"dst": "build_workflow.GHA",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Triggers",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 67,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 215,
"y": 187
},
{
"x": 215,
"y": 227
},
{
"x": 215,
"y": 247
},
{
"x": 215,
"y": 287
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "build_workflow.(GHA -> S3)[0]",
"src": "build_workflow.GHA",
"srcArrow": "none",
"srcLabel": "",
"dst": "build_workflow.S3",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Builds zip and pushes it",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 192,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 215,
"y": 424
},
{
"x": 215,
"y": 464
},
{
"x": 215,
"y": 484
},
{
"x": 215,
"y": 524
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "build_workflow.(S3 <-> Terraform)[0]",
"src": "build_workflow.S3",
"srcArrow": "triangle",
"srcLabel": "",
"dst": "build_workflow.Terraform",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Pulls zip to deploy",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 149,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 215,
"y": 661
},
{
"x": 215,
"y": 701
},
{
"x": 215,
"y": 771
},
{
"x": 215,
"y": 811
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "build_workflow.(Terraform -> AWS)[0]",
"src": "build_workflow.Terraform",
"srcArrow": "none",
"srcLabel": "",
"dst": "build_workflow.AWS",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Changes live lambdas",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 179,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 215,
"y": 948
},
{
"x": 215,
"y": 988
},
{
"x": 215,
"y": 1008
},
{
"x": 215,
"y": 1048
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "deploy_workflow.(manual -> GHA)[0]",
"src": "deploy_workflow.manual",
"srcArrow": "none",
"srcLabel": "",
"dst": "deploy_workflow.GHA",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Launches",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 78,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 655.5,
"y": 187
},
{
"x": 655.5,
"y": 227
},
{
"x": 655.5,
"y": 247
},
{
"x": 655.5,
"y": 287
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "deploy_workflow.(GHA -> AWS)[0]",
"src": "deploy_workflow.GHA",
"srcArrow": "none",
"srcLabel": "",
"dst": "deploy_workflow.AWS",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Builds zip\npushes them to S3.\n\nDeploys lambdas\nusing Terraform",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 153,
"labelHeight": 106,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 655.5,
"y": 424
},
{
"x": 655.5,
"y": 464
},
{
"x": 655.5,
"y": 484
},
{
"x": 655.5,
"y": 524
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "apollo_workflow.(apollo -> GHA)[0]",
"src": "apollo_workflow.apollo",
"srcArrow": "none",
"srcLabel": "",
"dst": "apollo_workflow.GHA",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Triggered manually/push to master test test test test test test test",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 533,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 1065.5,
"y": 187
},
{
"x": 1065.5,
"y": 227
},
{
"x": 1065.5,
"y": 247
},
{
"x": 1065.5,
"y": 287
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "apollo_workflow.(GHA -> AWS)[0]",
"src": "apollo_workflow.GHA",
"srcArrow": "none",
"srcLabel": "",
"dst": "apollo_workflow.AWS",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "test",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 31,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 1065.5,
"y": 424
},
{
"x": 1065.5,
"y": 464
},
{
"x": 1065.5,
"y": 484
},
{
"x": 1065.5,
"y": 524
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
}
]
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 799 KiB

View file

@ -0,0 +1,879 @@
{
"name": "",
"shapes": [
{
"id": "build_workflow",
"type": "",
"pos": {
"x": 716,
"y": 12
},
"width": 480,
"height": 1099,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "lambda-build.yaml",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 226,
"labelHeight": 41,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "build_workflow.push",
"type": "",
"pos": {
"x": 791,
"y": 87
},
"width": 330,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "Push to main branch",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 230,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "build_workflow.GHA",
"type": "",
"pos": {
"x": 822,
"y": 290
},
"width": 269,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "GitHub Actions",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 169,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "build_workflow.S3",
"type": "",
"pos": {
"x": 891,
"y": 493
},
"width": 131,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "S3",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 31,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "build_workflow.Terraform",
"type": "",
"pos": {
"x": 847,
"y": 696
},
"width": 218,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "Terraform",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 118,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "build_workflow.AWS",
"type": "",
"pos": {
"x": 879,
"y": 899
},
"width": 155,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "AWS",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 55,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "deploy_workflow",
"type": "",
"pos": {
"x": 1216,
"y": 175
},
"width": 421,
"height": 773,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "lambda-deploy.yaml",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 247,
"labelHeight": 41,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "deploy_workflow.manual",
"type": "",
"pos": {
"x": 1291,
"y": 250
},
"width": 271,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "Manual Trigger",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 171,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "deploy_workflow.GHA",
"type": "",
"pos": {
"x": 1292,
"y": 453
},
"width": 269,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "GitHub Actions",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 169,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "deploy_workflow.AWS",
"type": "",
"pos": {
"x": 1349,
"y": 736
},
"width": 155,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "AWS",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 55,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "apollo_workflow",
"type": "",
"pos": {
"x": 12,
"y": 215
},
"width": 684,
"height": 693,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "apollo-deploy.yaml",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 232,
"labelHeight": 41,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "apollo_workflow.apollo",
"type": "",
"pos": {
"x": 235,
"y": 290
},
"width": 238,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "Apollo Repo",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 138,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "apollo_workflow.GHA",
"type": "",
"pos": {
"x": 219,
"y": 493
},
"width": 269,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "GitHub Actions",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 169,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "apollo_workflow.AWS",
"type": "",
"pos": {
"x": 276,
"y": 696
},
"width": 155,
"height": 137,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "AWS",
"fontSize": 25,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 55,
"labelHeight": 37,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
}
],
"connections": [
{
"id": "build_workflow.(push -> GHA)[0]",
"src": "build_workflow.push",
"srcArrow": "none",
"srcLabel": "",
"dst": "build_workflow.GHA",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Triggers",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 67,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 956,
"y": 224
},
{
"x": 956,
"y": 290
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "build_workflow.(GHA -> S3)[0]",
"src": "build_workflow.GHA",
"srcArrow": "none",
"srcLabel": "",
"dst": "build_workflow.S3",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Builds zip and pushes it",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 192,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 956,
"y": 427
},
{
"x": 956,
"y": 493
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "build_workflow.(S3 <-> Terraform)[0]",
"src": "build_workflow.S3",
"srcArrow": "triangle",
"srcLabel": "",
"dst": "build_workflow.Terraform",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Pulls zip to deploy",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 149,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 956,
"y": 630
},
{
"x": 956,
"y": 696
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "build_workflow.(Terraform -> AWS)[0]",
"src": "build_workflow.Terraform",
"srcArrow": "none",
"srcLabel": "",
"dst": "build_workflow.AWS",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Changes live lambdas",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 179,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 956,
"y": 833
},
{
"x": 956,
"y": 899
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "deploy_workflow.(manual -> GHA)[0]",
"src": "deploy_workflow.manual",
"srcArrow": "none",
"srcLabel": "",
"dst": "deploy_workflow.GHA",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Launches",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 78,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 1426.5,
"y": 387
},
{
"x": 1426.5,
"y": 453
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "deploy_workflow.(GHA -> AWS)[0]",
"src": "deploy_workflow.GHA",
"srcArrow": "none",
"srcLabel": "",
"dst": "deploy_workflow.AWS",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Builds zip\npushes them to S3.\n\nDeploys lambdas\nusing Terraform",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 153,
"labelHeight": 106,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 1426.5,
"y": 590
},
{
"x": 1426.5,
"y": 736
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "apollo_workflow.(apollo -> GHA)[0]",
"src": "apollo_workflow.apollo",
"srcArrow": "none",
"srcLabel": "",
"dst": "apollo_workflow.GHA",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "Triggered manually/push to master test test test test test test test",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 533,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 353.5,
"y": 427
},
{
"x": 353.5,
"y": 493
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "apollo_workflow.(GHA -> AWS)[0]",
"src": "apollo_workflow.GHA",
"srcArrow": "none",
"srcLabel": "",
"dst": "apollo_workflow.AWS",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "test",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 31,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPercentage": 0,
"route": [
{
"x": 353.5,
"y": 630
},
{
"x": 353.5,
"y": 696
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
}
]
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 799 KiB

View file

@ -5,7 +5,7 @@
"id": "a",
"type": "",
"pos": {
"x": 159,
"x": 56,
"y": 12
},
"width": 113,
@ -45,7 +45,7 @@
"id": "b",
"type": "",
"pos": {
"x": 159,
"x": 56,
"y": 359
},
"width": 113,
@ -109,11 +109,11 @@
"labelPercentage": 0,
"route": [
{
"x": 215,
"x": 112.5,
"y": 138
},
{
"x": 215,
"x": 112.5,
"y": 359
}
],

View file

@ -2,7 +2,7 @@
<svg
style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="401" height="673" viewBox="14 -88 401 673"><style type="text/css">
width="401" height="673" viewBox="-88 -88 401 673"><style type="text/css">
<![CDATA[
.shape {
shape-rendering: geometricPrecision;
@ -18,9 +18,9 @@ width="401" height="673" viewBox="14 -88 401 673"><style type="text/css">
}
]]>
</style><g id="a"><g class="shape" ><rect x="159" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="215.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="b"><g class="shape" ><rect x="159" y="359" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="215.500000" y="425.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="(a -&gt; b)[0]"><marker id="mk-1247258845" markerWidth="24.200000" markerHeight="18.000000" refX="20.800000" refY="9.000000" viewBox="0.000000 0.000000 24.200000 18.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="white" stroke="#0D32B2" stroke-width="2" points="0.000000,9.000000 11.000000,2.250000 22.000000,9.000000 11.000000,16.200000" /> </marker><path d="M 215.000000 140.000000 L 215.000000 355.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-1247258845)" mask="url(#3190324998)"/><text class="text-italic" x="215.500000" y="254.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">To err is human, to moo bovine</text><text class="text-italic" x="229.000000" y="162.000000" style="text-anchor:middle;font-size:16px;fill:black">1</text><text class="text-italic" x="229.000000" y="351.000000" style="text-anchor:middle;font-size:16px;fill:black">*</text></g><mask id="3190324998" maskUnits="userSpaceOnUse" x="0" y="0" width="401" height="673">
</style><g id="a"><g class="shape" ><rect x="56" y="12" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="112.500000" y="78.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="b"><g class="shape" ><rect x="56" y="359" width="113" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="112.500000" y="425.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="(a -&gt; b)[0]"><marker id="mk-1247258845" markerWidth="24.200000" markerHeight="18.000000" refX="20.800000" refY="9.000000" viewBox="0.000000 0.000000 24.200000 18.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="white" stroke="#0D32B2" stroke-width="2" points="0.000000,9.000000 11.000000,2.250000 22.000000,9.000000 11.000000,16.200000" /> </marker><path d="M 112.500000 140.000000 L 112.500000 355.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-1247258845)" mask="url(#3116495848)"/><text class="text-italic" x="112.500000" y="254.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">To err is human, to moo bovine</text><text class="text-italic" x="126.500000" y="162.000000" style="text-anchor:middle;font-size:16px;fill:black">1</text><text class="text-italic" x="126.500000" y="351.000000" style="text-anchor:middle;font-size:16px;fill:black">*</text></g><mask id="3116495848" maskUnits="userSpaceOnUse" x="0" y="0" width="401" height="673">
<rect x="0" y="0" width="401" height="673" fill="white"></rect>
<rect x="115.000000" y="238.000000" width="201" height="21" fill="black"></rect>
<rect x="12.000000" y="238.000000" width="201" height="21" fill="black"></rect>
</mask><style type="text/css"><![CDATA[
.text-bold {
font-family: "font-bold";

Before

Width:  |  Height:  |  Size: 468 KiB

After

Width:  |  Height:  |  Size: 468 KiB

View file

@ -8,7 +8,7 @@
"x": 12,
"y": 12
},
"width": 892,
"width": 880,
"height": 1707,
"opacity": 1,
"strokeDash": 0,
@ -45,7 +45,7 @@
"id": "aa.bb",
"type": "",
"pos": {
"x": 144,
"x": 132,
"y": 445
},
"width": 685,
@ -85,7 +85,7 @@
"id": "aa.bb.cc",
"type": "",
"pos": {
"x": 290,
"x": 278,
"y": 841
},
"width": 464,
@ -125,7 +125,7 @@
"id": "aa.bb.cc.dd",
"type": "rectangle",
"pos": {
"x": 376,
"x": 364,
"y": 916
},
"width": 303,
@ -165,7 +165,7 @@
"id": "aa.bb.cc.dd.ee",
"type": "text",
"pos": {
"x": 588,
"x": 576,
"y": 1093
},
"width": 16,
@ -204,7 +204,7 @@
"id": "aa.bb.cc.dd.ff",
"type": "",
"pos": {
"x": 451,
"x": 439,
"y": 991
},
"width": 117,
@ -244,7 +244,7 @@
"id": "aa.bb.cc.gg",
"type": "text",
"pos": {
"x": 585,
"x": 573,
"y": 1258
},
"width": 17,
@ -283,7 +283,7 @@
"id": "aa.bb.cc.hh",
"type": "",
"pos": {
"x": 532,
"x": 520,
"y": 1343
},
"width": 123,
@ -323,7 +323,7 @@
"id": "aa.bb.ii",
"type": "package",
"pos": {
"x": 376,
"x": 364,
"y": 520
},
"width": 265,
@ -363,7 +363,7 @@
"id": "aa.bb.ii.jj",
"type": "diamond",
"pos": {
"x": 451,
"x": 439,
"y": 595
},
"width": 115,
@ -403,7 +403,7 @@
"id": "aa.bb.kk",
"type": "oval",
"pos": {
"x": 219,
"x": 207,
"y": 595
},
"width": 126,
@ -443,7 +443,7 @@
"id": "aa.ll",
"type": "",
"pos": {
"x": 357,
"x": 355,
"y": 233
},
"width": 114,
@ -483,7 +483,7 @@
"id": "aa.mm",
"type": "cylinder",
"pos": {
"x": 462,
"x": 446,
"y": 87
},
"width": 131,
@ -523,7 +523,7 @@
"id": "aa.nn",
"type": "text",
"pos": {
"x": 424,
"x": 408,
"y": 138
},
"width": 18,
@ -562,7 +562,7 @@
"id": "aa.oo",
"type": "",
"pos": {
"x": 613,
"x": 597,
"y": 87
},
"width": 123,
@ -626,11 +626,11 @@
"labelPercentage": 0,
"route": [
{
"x": 596,
"x": 584,
"y": 1117
},
{
"x": 596,
"x": 584,
"y": 1258
}
],
@ -665,11 +665,11 @@
"labelPercentage": 0,
"route": [
{
"x": 593.1666666666666,
"x": 581.1666666666666,
"y": 1282
},
{
"x": 593.1666666666666,
"x": 581.1666666666666,
"y": 1343
}
],
@ -704,19 +704,19 @@
"labelPercentage": 0,
"route": [
{
"x": 553,
"x": 541,
"y": 796
},
{
"x": 552.6666666666666,
"x": 540.6666666666666,
"y": 816
},
{
"x": 451,
"x": 439,
"y": 816
},
{
"x": 451,
"x": 439.00000000000006,
"y": 916
}
],
@ -751,19 +751,19 @@
"labelPercentage": 0,
"route": [
{
"x": 424.9000000000001,
"x": 422.9000000000001,
"y": 359
},
{
"x": 424.9000000000001,
"x": 422.9000000000001,
"y": 420
},
{
"x": 345.00000000000006,
"x": 333.00000000000006,
"y": 420
},
{
"x": 345.00000000000006,
"x": 333.00000000000006,
"y": 445
}
],
@ -798,27 +798,27 @@
"labelPercentage": 0,
"route": [
{
"x": 567,
"x": 551,
"y": 209
},
{
"x": 566.5,
"x": 550.5,
"y": 420
},
{
"x": 651,
"x": 639,
"y": 420
},
{
"x": 651,
"x": 639,
"y": 826
},
{
"x": 461.00000000000006,
"x": 449.00000000000006,
"y": 826
},
{
"x": 461.00000000000006,
"x": 449.00000000000006,
"y": 841
}
],
@ -853,19 +853,19 @@
"labelPercentage": 0,
"route": [
{
"x": 488,
"x": 472,
"y": 209
},
{
"x": 487.90000000000003,
"x": 471.90000000000003,
"y": 223
},
{
"x": 413.50000000000006,
"x": 411.50000000000006,
"y": 223
},
{
"x": 413.50000000000006,
"x": 411.50000000000006,
"y": 233
}
],
@ -900,27 +900,27 @@
"labelPercentage": 0,
"route": [
{
"x": 540,
"x": 524,
"y": 213
},
{
"x": 540.3000000000001,
"x": 524.3000000000001,
"y": 223
},
{
"x": 537.5,
"x": 523.5,
"y": 223
},
{
"x": 537.5,
"x": 523.5,
"y": 420
},
{
"x": 518.5,
"x": 506.50000000000006,
"y": 420
},
{
"x": 518.5,
"x": 506.50000000000006,
"y": 445
}
],
@ -955,27 +955,27 @@
"labelPercentage": 0,
"route": [
{
"x": 447.70000000000005,
"x": 445.70000000000005,
"y": 359
},
{
"x": 447.70000000000005,
"x": 445.70000000000005,
"y": 430
},
{
"x": 365.00000000000006,
"x": 353.00000000000006,
"y": 430
},
{
"x": 365.00000000000006,
"x": 353.00000000000006,
"y": 1248
},
{
"x": 590.3333333333334,
"x": 578.3333333333334,
"y": 1248
},
{
"x": 590.3333333333334,
"x": 578.3333333333334,
"y": 1258
}
],
@ -1010,19 +1010,19 @@
"labelPercentage": 0,
"route": [
{
"x": 514,
"x": 498,
"y": 213
},
{
"x": 514.1,
"x": 498.1,
"y": 223
},
{
"x": 508.50000000000006,
"x": 496.50000000000006,
"y": 223
},
{
"x": 509,
"x": 497,
"y": 575
}
],
@ -1057,27 +1057,27 @@
"labelPercentage": 0,
"route": [
{
"x": 461.00000000000006,
"x": 449,
"y": 1544
},
{
"x": 461.0000000000001,
"x": 449.0000000000001,
"y": 1644
},
{
"x": 105.00000000000006,
"x": 95.00000000000011,
"y": 1644
},
{
"x": 105.00000000000006,
"x": 95.00000000000011,
"y": 369
},
{
"x": 379.3000000000001,
"x": 377.3000000000001,
"y": 369
},
{
"x": 379.3000000000001,
"x": 377.3000000000001,
"y": 359
}
],
@ -1112,35 +1112,35 @@
"labelPercentage": 0,
"route": [
{
"x": 464,
"x": 452,
"y": 796
},
{
"x": 464.33333333333337,
"x": 452.3333333333333,
"y": 806
},
{
"x": 279.00000000000006,
"x": 267,
"y": 806
},
{
"x": 279.0000000000001,
"x": 267.0000000000001,
"y": 1634
},
{
"x": 134.0000000000001,
"x": 122.00000000000011,
"y": 1634
},
{
"x": 134.0000000000001,
"x": 122.00000000000011,
"y": 379
},
{
"x": 402.10000000000014,
"x": 400.10000000000014,
"y": 379
},
{
"x": 402.10000000000014,
"x": 400.10000000000014,
"y": 359
}
],

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 813 KiB

After

Width:  |  Height:  |  Size: 813 KiB

View file

@ -5,7 +5,7 @@
"id": "aa",
"type": "step",
"pos": {
"x": 435,
"x": 429,
"y": 12
},
"width": 122,
@ -45,7 +45,7 @@
"id": "bb",
"type": "step",
"pos": {
"x": 292,
"x": 286,
"y": 238
},
"width": 123,
@ -85,7 +85,7 @@
"id": "cc",
"type": "step",
"pos": {
"x": 314,
"x": 307,
"y": 464
},
"width": 121,
@ -125,7 +125,7 @@
"id": "dd",
"type": "",
"pos": {
"x": 238,
"x": 231,
"y": 816
},
"width": 415,
@ -165,7 +165,7 @@
"id": "dd.ee",
"type": "diamond",
"pos": {
"x": 456,
"x": 449,
"y": 891
},
"width": 122,
@ -205,7 +205,7 @@
"id": "ll",
"type": "",
"pos": {
"x": 253,
"x": 246,
"y": 3120
},
"width": 425,
@ -245,7 +245,7 @@
"id": "ll.mm",
"type": "oval",
"pos": {
"x": 472,
"x": 465,
"y": 3195
},
"width": 131,
@ -285,7 +285,7 @@
"id": "ff",
"type": "",
"pos": {
"x": 254,
"x": 247,
"y": 2462
},
"width": 424,
@ -325,7 +325,7 @@
"id": "ff.mm",
"type": "oval",
"pos": {
"x": 472,
"x": 465,
"y": 2537
},
"width": 131,
@ -365,7 +365,7 @@
"id": "ff.gg",
"type": "diamond",
"pos": {
"x": 329,
"x": 322,
"y": 2539
},
"width": 123,
@ -405,7 +405,7 @@
"id": "dd.hh",
"type": "diamond",
"pos": {
"x": 313,
"x": 306,
"y": 891
},
"width": 123,
@ -445,7 +445,7 @@
"id": "ww",
"type": "queue",
"pos": {
"x": 127,
"x": 120,
"y": 2195
},
"width": 131,
@ -496,7 +496,7 @@
"id": "yy",
"type": "",
"pos": {
"x": 75,
"x": 68,
"y": 3657
},
"width": 273,
@ -536,7 +536,7 @@
"id": "yy.zz",
"type": "queue",
"pos": {
"x": 152,
"x": 145,
"y": 3732
},
"width": 120,
@ -587,7 +587,7 @@
"id": "ad",
"type": "parallelogram",
"pos": {
"x": 333,
"x": 327,
"y": 4606
},
"width": 123,
@ -627,7 +627,7 @@
"id": "nn",
"type": "cylinder",
"pos": {
"x": 117,
"x": 110,
"y": 4225
},
"width": 557,
@ -667,7 +667,7 @@
"id": "ii",
"type": "",
"pos": {
"x": 460,
"x": 453,
"y": 1197
},
"width": 114,
@ -707,7 +707,7 @@
"id": "jj",
"type": "",
"pos": {
"x": 459,
"x": 453,
"y": 1503
},
"width": 115,
@ -747,7 +747,7 @@
"id": "kk",
"type": "",
"pos": {
"x": 456,
"x": 449,
"y": 1914
},
"width": 122,
@ -787,7 +787,7 @@
"id": "nn.oo",
"type": "",
"pos": {
"x": 476,
"x": 469,
"y": 4300
},
"width": 123,
@ -827,7 +827,7 @@
"id": "ff.pp",
"type": "",
"pos": {
"x": 329,
"x": 322,
"y": 2688
},
"width": 123,
@ -867,7 +867,7 @@
"id": "ll.qq",
"type": "",
"pos": {
"x": 328,
"x": 321,
"y": 3198
},
"width": 124,
@ -907,7 +907,7 @@
"id": "ll.rr",
"type": "",
"pos": {
"x": 331,
"x": 324,
"y": 3346
},
"width": 118,
@ -947,7 +947,7 @@
"id": "ss",
"type": "",
"pos": {
"x": 37,
"x": 30,
"y": 1428
},
"width": 268,
@ -987,7 +987,7 @@
"id": "ss.tt",
"type": "",
"pos": {
"x": 112,
"x": 105,
"y": 1503
},
"width": 118,
@ -1027,7 +1027,7 @@
"id": "uu",
"type": "",
"pos": {
"x": 34,
"x": 28,
"y": 1814
},
"width": 273,
@ -1067,7 +1067,7 @@
"id": "uu.vv",
"type": "",
"pos": {
"x": 109,
"x": 103,
"y": 1889
},
"width": 123,
@ -1107,7 +1107,7 @@
"id": "rm",
"type": "",
"pos": {
"x": 109,
"x": 102,
"y": 3321
},
"width": 124,
@ -1147,7 +1147,7 @@
"id": "nn.xx",
"type": "",
"pos": {
"x": 192,
"x": 185,
"y": 4300
},
"width": 122,
@ -1187,7 +1187,7 @@
"id": "yy.ab",
"type": "",
"pos": {
"x": 150,
"x": 143,
"y": 3904
},
"width": 123,
@ -1227,7 +1227,7 @@
"id": "nn.ac",
"type": "",
"pos": {
"x": 334,
"x": 327,
"y": 4300
},
"width": 122,
@ -1291,19 +1291,19 @@
"labelPercentage": 0,
"route": [
{
"x": 476,
"x": 470,
"y": 138
},
{
"x": 476,
"x": 469.5,
"y": 188
},
{
"x": 353.66666666666663,
"x": 347.16666666666663,
"y": 188
},
{
"x": 354,
"x": 347,
"y": 238
}
],
@ -1338,11 +1338,11 @@
"labelPercentage": 0,
"route": [
{
"x": 374,
"x": 368,
"y": 364
},
{
"x": 374,
"x": 368,
"y": 464
}
],
@ -1377,11 +1377,11 @@
"labelPercentage": 0,
"route": [
{
"x": 517,
"x": 510,
"y": 138
},
{
"x": 517,
"x": 510,
"y": 891
}
],
@ -1416,28 +1416,28 @@
"labelPercentage": 0,
"route": [
{
"x": 333,
"x": 327,
"y": 364
},
{
"x": 333.16666666666663,
"x": 326.66666666666663,
"y": 414
},
{
"x": 23,
"x": 16.5,
"y": 414
},
{
"x": 23,
"x": 16.5,
"y": 2407
},
{
"x": 369.5,
"x": 363,
"y": 2407
},
{
"x": 369,
"y": 2560
"x": 363,
"y": 2559
}
],
"animated": false,
@ -1471,11 +1471,11 @@
"labelPercentage": 0,
"route": [
{
"x": 374,
"x": 368,
"y": 590
},
{
"x": 374,
"x": 368,
"y": 891
}
],
@ -1510,11 +1510,11 @@
"labelPercentage": 0,
"route": [
{
"x": 517,
"x": 510,
"y": 1017
},
{
"x": 516.6666666666666,
"x": 510.16666666666663,
"y": 1197
}
],
@ -1549,11 +1549,11 @@
"labelPercentage": 0,
"route": [
{
"x": 516.6666666666666,
"x": 510.16666666666663,
"y": 1323
},
{
"x": 516.6666666666666,
"x": 510.16666666666663,
"y": 1503
}
],
@ -1588,11 +1588,11 @@
"labelPercentage": 0,
"route": [
{
"x": 516.6666666666666,
"x": 510.16666666666663,
"y": 1629
},
{
"x": 516.6666666666666,
"x": 510.16666666666663,
"y": 1914
}
],
@ -1627,11 +1627,11 @@
"labelPercentage": 0,
"route": [
{
"x": 537,
"x": 530.5,
"y": 2040
},
{
"x": 537,
"x": 531,
"y": 2537
}
],
@ -1666,11 +1666,11 @@
"labelPercentage": 0,
"route": [
{
"x": 537,
"x": 531,
"y": 2668
},
{
"x": 537,
"x": 531,
"y": 3195
}
],
@ -1705,11 +1705,11 @@
"labelPercentage": 0,
"route": [
{
"x": 537,
"x": 531,
"y": 3326
},
{
"x": 537,
"x": 530.5,
"y": 4300
}
],
@ -1744,11 +1744,11 @@
"labelPercentage": 0,
"route": [
{
"x": 391,
"x": 384,
"y": 2665
},
{
"x": 390.5,
"x": 383.5,
"y": 2688
}
],
@ -1783,19 +1783,19 @@
"labelPercentage": 0,
"route": [
{
"x": 390,
"x": 383.5,
"y": 2814
},
{
"x": 390,
"x": 383.5,
"y": 2944
},
{
"x": 389.5,
"x": 383,
"y": 2944
},
{
"x": 389.5,
"x": 383,
"y": 3197.5
}
],
@ -1830,11 +1830,11 @@
"labelPercentage": 0,
"route": [
{
"x": 390,
"x": 383,
"y": 3323.5
},
{
"x": 390,
"x": 383,
"y": 3346
}
],
@ -1869,19 +1869,19 @@
"labelPercentage": 0,
"route": [
{
"x": 374,
"x": 368,
"y": 1017
},
{
"x": 374.16666666666663,
"x": 367.66666666666663,
"y": 1147
},
{
"x": 170.49999999999997,
"x": 163.99999999999997,
"y": 1147
},
{
"x": 170.49999999999997,
"x": 163.99999999999997,
"y": 1503
}
],
@ -1916,11 +1916,11 @@
"labelPercentage": 0,
"route": [
{
"x": 170.5,
"x": 164,
"y": 1629
},
{
"x": 170.5,
"x": 164,
"y": 1889
}
],
@ -1955,19 +1955,19 @@
"labelPercentage": 0,
"route": [
{
"x": 496.3333333333333,
"x": 489.8333333333333,
"y": 2040
},
{
"x": 496.3333333333333,
"x": 489.8333333333333,
"y": 2145
},
{
"x": 214.16666666666669,
"x": 207.66666666666669,
"y": 2145
},
{
"x": 214,
"x": 208,
"y": 2195
}
],
@ -2002,11 +2002,11 @@
"labelPercentage": 0,
"route": [
{
"x": 170.5,
"x": 164,
"y": 2015
},
{
"x": 171,
"x": 164,
"y": 2195
}
],
@ -2041,11 +2041,11 @@
"labelPercentage": 0,
"route": [
{
"x": 170,
"x": 164,
"y": 2347
},
{
"x": 170.5,
"x": 164,
"y": 3320.6666666666665
}
],
@ -2080,27 +2080,27 @@
"labelPercentage": 0,
"route": [
{
"x": 149.83333333333331,
"x": 143.33333333333331,
"y": 3446.6666666666665
},
{
"x": 149.83333333333331,
"x": 143.33333333333331,
"y": 3602
},
{
"x": 63.666666666666664,
"x": 57.166666666666664,
"y": 3602
},
{
"x": 63.666666666666664,
"x": 57.166666666666664,
"y": 4170
},
{
"x": 252.5,
"x": 246,
"y": 4170
},
{
"x": 252.5,
"x": 246,
"y": 4300
}
],
@ -2135,19 +2135,19 @@
"labelPercentage": 0,
"route": [
{
"x": 389.5,
"x": 383,
"y": 3472
},
{
"x": 389.5,
"x": 383,
"y": 3602
},
{
"x": 231.16666666666666,
"x": 224.66666666666666,
"y": 3602
},
{
"x": 231,
"x": 225,
"y": 3732
}
],
@ -2182,11 +2182,11 @@
"labelPercentage": 0,
"route": [
{
"x": 191.16666666666666,
"x": 184.66666666666666,
"y": 3446.6666666666665
},
{
"x": 191,
"x": 185,
"y": 3732
}
],
@ -2221,11 +2221,11 @@
"labelPercentage": 0,
"route": [
{
"x": 211,
"x": 204,
"y": 3884
},
{
"x": 211.5,
"x": 204.5,
"y": 3904
}
],
@ -2260,19 +2260,19 @@
"labelPercentage": 0,
"route": [
{
"x": 211.16666666666666,
"x": 204.66666666666666,
"y": 4030
},
{
"x": 211.16666666666666,
"x": 204.66666666666666,
"y": 4160
},
{
"x": 394.5,
"x": 388,
"y": 4160
},
{
"x": 394.5,
"x": 388,
"y": 4300
}
],
@ -2307,11 +2307,11 @@
"labelPercentage": 0,
"route": [
{
"x": 394.5,
"x": 388,
"y": 4426
},
{
"x": 395,
"x": 388,
"y": 4606
}
],
@ -2346,20 +2346,20 @@
"labelPercentage": 0,
"route": [
{
"x": 214,
"x": 208,
"y": 2347
},
{
"x": 214.16666666666669,
"x": 207.66666666666669,
"y": 2397
},
{
"x": 410.5,
"x": 404,
"y": 2397
},
{
"x": 411,
"y": 2558
"x": 404,
"y": 2559
}
],
"animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 809 KiB

After

Width:  |  Height:  |  Size: 809 KiB

View file

@ -720,6 +720,14 @@
},
{
"x": 343.6666666666667,
"y": 805
},
{
"x": 393,
"y": 805
},
{
"x": 393,
"y": 846
},
{
@ -806,6 +814,14 @@
},
{
"x": 939.6666666666667,
"y": 805
},
{
"x": 989,
"y": 805
},
{
"x": 989,
"y": 846
},
{

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 798 KiB

After

Width:  |  Height:  |  Size: 798 KiB

View file

@ -8,7 +8,7 @@
"x": 12,
"y": 12
},
"width": 336,
"width": 334,
"height": 463,
"opacity": 1,
"strokeDash": 0,
@ -45,7 +45,7 @@
"id": "container.first",
"type": "",
"pos": {
"x": 138,
"x": 136,
"y": 87
},
"width": 135,
@ -85,7 +85,7 @@
"id": "container.second",
"type": "",
"pos": {
"x": 102,
"x": 100,
"y": 274
},
"width": 155,
@ -149,11 +149,11 @@
"labelPercentage": 0,
"route": [
{
"x": 205.5,
"x": 203.5,
"y": 213
},
{
"x": 205.5,
"x": 203.5,
"y": 274
}
],
@ -188,19 +188,19 @@
"labelPercentage": 0,
"route": [
{
"x": 117,
"x": 101,
"y": 12
},
{
"x": 117,
"x": 101,
"y": 264
},
{
"x": 153.83333333333334,
"x": 151.83333333333334,
"y": 264
},
{
"x": 153.83333333333334,
"x": 151.83333333333334,
"y": 274
}
],

View file

@ -2,7 +2,7 @@
<svg
style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="536" height="663" viewBox="-88 -88 536 663"><style type="text/css">
width="534" height="663" viewBox="-88 -88 534 663"><style type="text/css">
<![CDATA[
.shape {
shape-rendering: geometricPrecision;
@ -18,10 +18,10 @@ width="536" height="663" viewBox="-88 -88 536 663"><style type="text/css">
}
]]>
</style><g id="container"><g class="shape" ><rect x="12" y="12" width="336" height="463" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="180.000000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">container</text></g><g id="container.first"><g class="shape" ><rect x="138" y="87" width="135" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="205.500000" y="153.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">first</text></g><g id="container.second"><g class="shape" ><rect x="102" y="274" width="155" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="179.500000" y="340.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">second</text></g><g id="container.(first -&gt; second)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 205.500000 215.000000 L 205.500000 270.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#186667576)"/><text class="text-italic" x="205.500000" y="249.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">1-&gt;2</text></g><g id="(container -&gt; container.second)[0]"><path d="M 117.000000 14.000000 L 117.000000 254.000000 S 117.000000 264.000000 127.000000 264.000000 L 148.833333 264.000000 S 153.833333 264.000000 153.833333 269.000000 L 153.833333 270.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#186667576)"/><text class="text-italic" x="117.000000" y="167.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">c-&gt;2</text></g><mask id="186667576" maskUnits="userSpaceOnUse" x="0" y="0" width="536" height="663">
<rect x="0" y="0" width="536" height="663" fill="white"></rect>
<rect x="191.000000" y="233.000000" width="29" height="21" fill="black"></rect>
<rect x="103.000000" y="151.000000" width="28" height="21" fill="black"></rect>
</style><g id="container"><g class="shape" ><rect x="12" y="12" width="334" height="463" style="fill:#E3E9FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="179.000000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">container</text></g><g id="container.first"><g class="shape" ><rect x="136" y="87" width="135" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="203.500000" y="153.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">first</text></g><g id="container.second"><g class="shape" ><rect x="100" y="274" width="155" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="177.500000" y="340.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">second</text></g><g id="container.(first -&gt; second)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 203.500000 215.000000 L 203.500000 270.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2171115784)"/><text class="text-italic" x="203.500000" y="249.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">1-&gt;2</text></g><g id="(container -&gt; container.second)[0]"><path d="M 101.000000 14.000000 L 101.000000 254.000000 S 101.000000 264.000000 111.000000 264.000000 L 146.833333 264.000000 S 151.833333 264.000000 151.833333 269.000000 L 151.833333 270.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2171115784)"/><text class="text-italic" x="101.000000" y="174.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">c-&gt;2</text></g><mask id="2171115784" maskUnits="userSpaceOnUse" x="0" y="0" width="534" height="663">
<rect x="0" y="0" width="534" height="663" fill="white"></rect>
<rect x="189.000000" y="233.000000" width="29" height="21" fill="black"></rect>
<rect x="87.000000" y="158.000000" width="28" height="21" fill="black"></rect>
</mask><style type="text/css"><![CDATA[
.text {
font-family: "font-regular";

Before

Width:  |  Height:  |  Size: 792 KiB

After

Width:  |  Height:  |  Size: 792 KiB

View file

@ -5,7 +5,7 @@
"id": "eight",
"type": "",
"pos": {
"x": 293,
"x": 245,
"y": 12
},
"width": 124,
@ -45,7 +45,7 @@
"id": "sixteen",
"type": "",
"pos": {
"x": 277,
"x": 228,
"y": 344
},
"width": 157,
@ -85,7 +85,7 @@
"id": "thirty two",
"type": "",
"pos": {
"x": 232,
"x": 183,
"y": 701
},
"width": 247,
@ -125,7 +125,7 @@
"id": "sixty four",
"type": "",
"pos": {
"x": 168,
"x": 120,
"y": 1108
},
"width": 374,
@ -165,7 +165,7 @@
"id": "ninety nine",
"type": "",
"pos": {
"x": 61,
"x": 12,
"y": 1596
},
"width": 589,
@ -229,11 +229,11 @@
"labelPercentage": 0,
"route": [
{
"x": 355,
"x": 306.5,
"y": 128
},
{
"x": 355,
"x": 306.5,
"y": 344
}
],
@ -268,11 +268,11 @@
"labelPercentage": 0,
"route": [
{
"x": 355,
"x": 306.5,
"y": 470
},
{
"x": 355,
"x": 306.5,
"y": 701
}
],
@ -307,11 +307,11 @@
"labelPercentage": 0,
"route": [
{
"x": 355,
"x": 306.5,
"y": 847
},
{
"x": 355,
"x": 306.5,
"y": 1108
}
],
@ -346,11 +346,11 @@
"labelPercentage": 0,
"route": [
{
"x": 355,
"x": 306.5,
"y": 1294
},
{
"x": 355,
"x": 306.5,
"y": 1596
}
],

View file

@ -2,7 +2,7 @@
<svg
style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="789" height="2014" viewBox="-39 -88 789 2014"><style type="text/css">
width="789" height="2014" viewBox="-88 -88 789 2014"><style type="text/css">
<![CDATA[
.shape {
shape-rendering: geometricPrecision;
@ -18,12 +18,12 @@ width="789" height="2014" viewBox="-39 -88 789 2014"><style type="text/css">
}
]]>
</style><g id="eight"><g class="shape" ><rect x="293" y="12" width="124" height="116" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="355.000000" y="70.000000" style="text-anchor:middle;font-size:8px;fill:#0A0F25">eight</text></g><g id="sixteen"><g class="shape" ><rect x="277" y="344" width="157" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="355.500000" y="410.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">sixteen</text></g><g id="thirty two"><g class="shape" ><rect x="232" y="701" width="247" height="146" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="355.500000" y="783.000000" style="text-anchor:middle;font-size:32px;fill:#0A0F25">thirty two</text></g><g id="sixty four"><g class="shape" ><rect x="168" y="1108" width="374" height="186" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="355.000000" y="1222.000000" style="text-anchor:middle;font-size:64px;fill:#0A0F25">sixty four</text></g><g id="ninety nine"><g class="shape" ><rect x="61" y="1596" width="589" height="230" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="355.500000" y="1745.000000" style="text-anchor:middle;font-size:99px;fill:#0A0F25">ninety nine</text></g><g id="(eight -&gt; sixteen)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 355.000000 130.000000 L 355.000000 340.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2715138097)"/><text class="text-italic" x="355.500000" y="240.000000" style="text-anchor:middle;font-size:12px;fill:#676C7E">twelve</text></g><g id="(sixteen -&gt; thirty two)[0]"><path d="M 355.000000 472.000000 L 355.000000 697.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2715138097)"/><text class="text-italic" x="355.000000" y="594.000000" style="text-anchor:middle;font-size:24px;fill:#676C7E">twenty four</text></g><g id="(thirty two -&gt; sixty four)[0]"><path d="M 355.000000 849.000000 L 355.000000 1104.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2715138097)"/><text class="text-italic" x="355.000000" y="995.000000" style="text-anchor:middle;font-size:48px;fill:#676C7E">forty eight</text></g><g id="(sixty four -&gt; ninety nine)[0]"><path d="M 355.000000 1296.000000 L 355.000000 1592.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2715138097)"/><text class="text-italic" x="355.500000" y="1475.000000" style="text-anchor:middle;font-size:81px;fill:#676C7E">eighty one</text></g><mask id="2715138097" maskUnits="userSpaceOnUse" x="0" y="0" width="789" height="2014">
</style><g id="eight"><g class="shape" ><rect x="245" y="12" width="124" height="116" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="307.000000" y="70.000000" style="text-anchor:middle;font-size:8px;fill:#0A0F25">eight</text></g><g id="sixteen"><g class="shape" ><rect x="228" y="344" width="157" height="126" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="306.500000" y="410.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">sixteen</text></g><g id="thirty two"><g class="shape" ><rect x="183" y="701" width="247" height="146" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="306.500000" y="783.000000" style="text-anchor:middle;font-size:32px;fill:#0A0F25">thirty two</text></g><g id="sixty four"><g class="shape" ><rect x="120" y="1108" width="374" height="186" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="307.000000" y="1222.000000" style="text-anchor:middle;font-size:64px;fill:#0A0F25">sixty four</text></g><g id="ninety nine"><g class="shape" ><rect x="12" y="1596" width="589" height="230" style="fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text-bold" x="306.500000" y="1745.000000" style="text-anchor:middle;font-size:99px;fill:#0A0F25">ninety nine</text></g><g id="(eight -&gt; sixteen)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 306.500000 130.000000 L 306.500000 340.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#255163469)"/><text class="text-italic" x="306.500000" y="240.000000" style="text-anchor:middle;font-size:12px;fill:#676C7E">twelve</text></g><g id="(sixteen -&gt; thirty two)[0]"><path d="M 306.500000 472.000000 L 306.500000 697.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#255163469)"/><text class="text-italic" x="307.000000" y="594.000000" style="text-anchor:middle;font-size:24px;fill:#676C7E">twenty four</text></g><g id="(thirty two -&gt; sixty four)[0]"><path d="M 306.500000 849.000000 L 306.500000 1104.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#255163469)"/><text class="text-italic" x="307.000000" y="995.000000" style="text-anchor:middle;font-size:48px;fill:#676C7E">forty eight</text></g><g id="(sixty four -&gt; ninety nine)[0]"><path d="M 306.500000 1296.000000 L 306.500000 1592.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#255163469)"/><text class="text-italic" x="306.500000" y="1475.000000" style="text-anchor:middle;font-size:81px;fill:#676C7E">eighty one</text></g><mask id="255163469" maskUnits="userSpaceOnUse" x="0" y="0" width="789" height="2014">
<rect x="0" y="0" width="789" height="2014" fill="white"></rect>
<rect x="339.000000" y="228.000000" width="33" height="16" fill="black"></rect>
<rect x="298.000000" y="570.000000" width="114" height="31" fill="black"></rect>
<rect x="254.000000" y="947.000000" width="202" height="61" fill="black"></rect>
<rect x="185.000000" y="1394.000000" width="341" height="102" fill="black"></rect>
<rect x="290.000000" y="228.000000" width="33" height="16" fill="black"></rect>
<rect x="250.000000" y="570.000000" width="114" height="31" fill="black"></rect>
<rect x="206.000000" y="947.000000" width="202" height="61" fill="black"></rect>
<rect x="136.000000" y="1394.000000" width="341" height="102" fill="black"></rect>
</mask><style type="text/css"><![CDATA[
.text-bold {
font-family: "font-bold";

Before

Width:  |  Height:  |  Size: 470 KiB

After

Width:  |  Height:  |  Size: 470 KiB