diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md
index 302685f37..91c1369b4 100644
--- a/ci/release/changelogs/next.md
+++ b/ci/release/changelogs/next.md
@@ -4,6 +4,7 @@
- Connections now support `link` [#1955](https://github.com/terrastruct/d2/pull/1955)
- Vars: vars in markdown blocks are substituted [#2218](https://github.com/terrastruct/d2/pull/2218)
- Markdown: Github-flavored tables work in `md` blocks [#2221](https://github.com/terrastruct/d2/pull/2221)
+- Adds box arrowheads [#2227](https://github.com/terrastruct/d2/issues/2227)
#### Improvements 🧹
diff --git a/d2renderers/d2sketch/sketch.go b/d2renderers/d2sketch/sketch.go
index f873eda78..40d6692f2 100644
--- a/d2renderers/d2sketch/sketch.go
+++ b/d2renderers/d2sketch/sketch.go
@@ -850,6 +850,22 @@ func ArrowheadJS(r *Runner, arrowhead d2target.Arrowhead, stroke string, strokeW
stroke,
BG_COLOR,
)
+ case d2target.BoxArrowhead:
+ arrowJS = fmt.Sprintf(
+ `node = rc.polygon(%s, { strokeWidth: %d, stroke: "%s", fill: "%s", fillStyle: "solid", seed: 1})`,
+ `[[0, -10], [0, 10], [-20, 10], [-20, -10]]`,
+ strokeWidth,
+ stroke,
+ BG_COLOR,
+ )
+ case d2target.FilledBoxArrowhead:
+ arrowJS = fmt.Sprintf(
+ `node = rc.polygon(%s, { strokeWidth: %d, stroke: "%s", fill: "%s", fillStyle: "solid", seed: 1})`,
+ `[[0, -10], [0, 10], [-20, 10], [-20, -10]]`,
+ strokeWidth,
+ stroke,
+ stroke,
+ )
}
return
}
diff --git a/d2renderers/d2sketch/sketch_test.go b/d2renderers/d2sketch/sketch_test.go
index e1cddd510..04b97e134 100644
--- a/d2renderers/d2sketch/sketch_test.go
+++ b/d2renderers/d2sketch/sketch_test.go
@@ -462,6 +462,20 @@ a.9 <-> b.9: cf-one-required {
source-arrowhead.shape: cf-one-required
target-arrowhead.shape: cf-one-required
}
+a.10 <-> b.10: box {
+ source-arrowhead.shape: box
+ target-arrowhead.shape: box
+}
+a.11 <-> b.11: box-filled {
+ source-arrowhead: {
+ shape: box
+ style.filled: true
+ }
+ target-arrowhead: {
+ shape: box
+ style.filled: true
+ }
+}
`,
},
{
diff --git a/d2renderers/d2sketch/testdata/arrowheads/sketch.exp.svg b/d2renderers/d2sketch/testdata/arrowheads/sketch.exp.svg
index bfc677a8f..a824d075e 100644
--- a/d2renderers/d2sketch/testdata/arrowheads/sketch.exp.svg
+++ b/d2renderers/d2sketch/testdata/arrowheads/sketch.exp.svg
@@ -1,17 +1,17 @@
-
\ No newline at end of file
diff --git a/d2renderers/d2svg/d2svg.go b/d2renderers/d2svg/d2svg.go
index cb14ff041..bd64e0c58 100644
--- a/d2renderers/d2svg/d2svg.go
+++ b/d2renderers/d2svg/d2svg.go
@@ -285,6 +285,51 @@ func arrowheadMarker(isTarget bool, id string, connection d2target.Connection, i
}
path = circleEl.Render()
+ case d2target.FilledBoxArrowhead:
+ polygonEl := d2themes.NewThemableElement("polygon", inlineTheme)
+ polygonEl.ClassName = "connection"
+ polygonEl.Fill = connection.Stroke
+ polygonEl.Attributes = fmt.Sprintf(`stroke-width="%d"`, connection.StrokeWidth)
+
+ if isTarget {
+ polygonEl.Points = fmt.Sprintf("%f,%f %f,%f %f,%f %f,%f",
+ 0., 0.,
+ 0., height,
+ width, height,
+ width, 0.,
+ )
+ } else {
+ polygonEl.Points = fmt.Sprintf("%f,%f %f,%f %f,%f %f,%f",
+ 0., 0.,
+ 0., height,
+ width, height,
+ width, 0.,
+ )
+ }
+ path = polygonEl.Render()
+ case d2target.BoxArrowhead:
+ polygonEl := d2themes.NewThemableElement("polygon", inlineTheme)
+ polygonEl.ClassName = "connection"
+ polygonEl.Fill = d2target.BG_COLOR
+ polygonEl.Stroke = connection.Stroke
+ polygonEl.Attributes = fmt.Sprintf(`stroke-width="%d"`, connection.StrokeWidth)
+
+ if isTarget {
+ polygonEl.Points = fmt.Sprintf("%f,%f %f,%f %f,%f %f,%f",
+ 0., 0.,
+ 0., height,
+ width, height,
+ width, 0.,
+ )
+ } else {
+ polygonEl.Points = fmt.Sprintf("%f,%f %f,%f %f,%f %f,%f",
+ 0., 0.,
+ 0., height,
+ width, height,
+ width, 0.,
+ )
+ }
+ path = polygonEl.Render()
case d2target.CfOne, d2target.CfMany, d2target.CfOneRequired, d2target.CfManyRequired:
offset := 3.0 + float64(connection.StrokeWidth)*1.8
diff --git a/d2target/d2target.go b/d2target/d2target.go
index 11da29688..9f75487ae 100644
--- a/d2target/d2target.go
+++ b/d2target/d2target.go
@@ -752,6 +752,8 @@ const (
FilledDiamondArrowhead Arrowhead = "filled-diamond"
CircleArrowhead Arrowhead = "circle"
FilledCircleArrowhead Arrowhead = "filled-circle"
+ BoxArrowhead Arrowhead = "box"
+ FilledBoxArrowhead Arrowhead = "filled-box"
// For fat arrows
LineArrowhead Arrowhead = "line"
@@ -772,6 +774,7 @@ var Arrowheads = map[string]struct{}{
string(TriangleArrowhead): {},
string(DiamondArrowhead): {},
string(CircleArrowhead): {},
+ string(BoxArrowhead): {},
string(CfOne): {},
string(CfMany): {},
string(CfOneRequired): {},
@@ -799,6 +802,11 @@ func ToArrowhead(arrowheadType string, filled *bool) Arrowhead {
return UnfilledTriangleArrowhead
}
return TriangleArrowhead
+ case string(BoxArrowhead):
+ if filled != nil && *filled {
+ return FilledBoxArrowhead
+ }
+ return BoxArrowhead
case string(CfOne):
return CfOne
case string(CfMany):
@@ -853,6 +861,11 @@ func (arrowhead Arrowhead) Dimensions(strokeWidth float64) (width, height float6
baseHeight = 8
widthMultiplier = 5
heightMultiplier = 5
+ case FilledBoxArrowhead, BoxArrowhead:
+ baseWidth = 6
+ baseHeight = 6
+ widthMultiplier = 5
+ heightMultiplier = 5
case CfOne, CfMany, CfOneRequired, CfManyRequired:
baseWidth = 9
baseHeight = 9
diff --git a/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf b/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf
index deb3744f2..3ed8051d4 100644
Binary files a/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf and b/e2etests-cli/testdata/TestCLI_E2E/internal_linked_pdf.exp.pdf differ
diff --git a/e2etests-cli/testdata/TestCLI_E2E/no-nav-pdf.exp.pdf b/e2etests-cli/testdata/TestCLI_E2E/no-nav-pdf.exp.pdf
index 75f717b6b..0fbebbadd 100644
Binary files a/e2etests-cli/testdata/TestCLI_E2E/no-nav-pdf.exp.pdf and b/e2etests-cli/testdata/TestCLI_E2E/no-nav-pdf.exp.pdf differ
diff --git a/e2etests-cli/testdata/TestCLI_E2E/no-nav-pptx.exp.pptx b/e2etests-cli/testdata/TestCLI_E2E/no-nav-pptx.exp.pptx
index 0590d887f..4dd956408 100644
Binary files a/e2etests-cli/testdata/TestCLI_E2E/no-nav-pptx.exp.pptx and b/e2etests-cli/testdata/TestCLI_E2E/no-nav-pptx.exp.pptx differ
diff --git a/e2etests-cli/testdata/TestCLI_E2E/pptx-theme-overrides.exp.pptx b/e2etests-cli/testdata/TestCLI_E2E/pptx-theme-overrides.exp.pptx
index 765957789..91de946a3 100644
Binary files a/e2etests-cli/testdata/TestCLI_E2E/pptx-theme-overrides.exp.pptx and b/e2etests-cli/testdata/TestCLI_E2E/pptx-theme-overrides.exp.pptx differ
diff --git a/e2etests-cli/testdata/TestCLI_E2E/renamed-board.exp.pdf b/e2etests-cli/testdata/TestCLI_E2E/renamed-board.exp.pdf
index c4a82ab99..ef0b45858 100644
Binary files a/e2etests-cli/testdata/TestCLI_E2E/renamed-board.exp.pdf and b/e2etests-cli/testdata/TestCLI_E2E/renamed-board.exp.pdf differ
diff --git a/e2etests-cli/testdata/TestCLI_E2E/theme-pdf.exp.pdf b/e2etests-cli/testdata/TestCLI_E2E/theme-pdf.exp.pdf
index c6437033f..6589f9a0a 100644
Binary files a/e2etests-cli/testdata/TestCLI_E2E/theme-pdf.exp.pdf and b/e2etests-cli/testdata/TestCLI_E2E/theme-pdf.exp.pdf differ
diff --git a/e2etests/stable_test.go b/e2etests/stable_test.go
index 3430d33fc..8ea7a6ed5 100644
--- a/e2etests/stable_test.go
+++ b/e2etests/stable_test.go
@@ -2325,6 +2325,29 @@ c <-> d: filled-circle {
shape: circle
style.filled: true
}
+}`,
+ },
+ {
+ name: "box_arrowhead",
+ script: `
+a <-> b: box {
+ source-arrowhead: {
+ shape: box
+ }
+ target-arrowhead: {
+ shape: box
+ }
+}
+
+c <-> d: filled-box {
+ source-arrowhead: {
+ shape: box
+ style.filled: true
+ }
+ target-arrowhead: {
+ shape: box
+ style.filled: true
+ }
}`,
},
{
diff --git a/e2etests/testdata/files/arrowhead_scaling.d2 b/e2etests/testdata/files/arrowhead_scaling.d2
index f835029dd..12131768d 100644
--- a/e2etests/testdata/files/arrowhead_scaling.d2
+++ b/e2etests/testdata/files/arrowhead_scaling.d2
@@ -215,6 +215,78 @@ filled circle: {
}
}
+box: {
+ start: ""
+ end: ""
+
+ start.1 <-> end.1: 1 {
+ style.stroke-width: 1
+ source-arrowhead.shape: box
+ target-arrowhead.shape: box
+ }
+ start.2 <-> end.2: 2 {
+ style.stroke-width: 2
+ source-arrowhead.shape: box
+ target-arrowhead.shape: box
+ }
+ start.4 <-> end.4: 4 {
+ style.stroke-width: 4
+ source-arrowhead.shape: box
+ target-arrowhead.shape: box
+ }
+ start.8 <-> end.8: 8 {
+ style.stroke-width: 8
+ source-arrowhead.shape: box
+ target-arrowhead.shape: box
+ }
+ start.15 <-> end.15: 15 {
+ style.stroke-width: 15
+ source-arrowhead.shape: box
+ target-arrowhead.shape: box
+ }
+}
+
+filled-box: {
+ start: ""
+ end: ""
+
+ start.1 <-> end.1: 1 {
+ style.stroke-width: 1
+ source-arrowhead.shape: box
+ target-arrowhead.shape: box
+ source-arrowhead.style.filled: true
+ target-arrowhead.style.filled: true
+ }
+ start.2 <-> end.2: 2 {
+ style.stroke-width: 2
+ source-arrowhead.shape: box
+ target-arrowhead.shape: box
+ source-arrowhead.style.filled: true
+ target-arrowhead.style.filled: true
+ }
+ start.4 <-> end.4: 4 {
+ style.stroke-width: 4
+ source-arrowhead.shape: box
+ target-arrowhead.shape: box
+ source-arrowhead.style.filled: true
+ target-arrowhead.style.filled: true
+ }
+ start.8 <-> end.8: 8 {
+ style.stroke-width: 8
+ source-arrowhead.shape: box
+ target-arrowhead.shape: box
+ source-arrowhead.style.filled: true
+ target-arrowhead.style.filled: true
+ }
+ start.15 <-> end.15: 15 {
+ style.stroke-width: 15
+ source-arrowhead.shape: box
+ target-arrowhead.shape: box
+ source-arrowhead.style.filled: true
+ target-arrowhead.style.filled: true
+ }
+}
+
cf one: {
start: ""
end: ""
diff --git a/e2etests/testdata/stable/arrowhead_scaling/dagre/board.exp.json b/e2etests/testdata/stable/arrowhead_scaling/dagre/board.exp.json
index df888810c..1efddcfa0 100644
--- a/e2etests/testdata/stable/arrowhead_scaling/dagre/board.exp.json
+++ b/e2etests/testdata/stable/arrowhead_scaling/dagre/board.exp.json
@@ -3812,7 +3812,7 @@
"level": 3
},
{
- "id": "cf one",
+ "id": "box",
"type": "rectangle",
"pos": {
"x": 4571,
@@ -3839,6 +3839,1094 @@
"fields": null,
"methods": null,
"columns": null,
+ "label": "box",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 42,
+ "labelHeight": 36,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "box.start",
+ "type": "rectangle",
+ "pos": {
+ "x": 4601,
+ "y": 70
+ },
+ "width": 573,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B5",
+ "stroke": "B1",
+ "animated": false,
+ "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": 0,
+ "labelHeight": 0,
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "box.end",
+ "type": "rectangle",
+ "pos": {
+ "x": 4601,
+ "y": 357
+ },
+ "width": 573,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B5",
+ "stroke": "B1",
+ "animated": false,
+ "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": 0,
+ "labelHeight": 0,
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "box.start.1",
+ "type": "rectangle",
+ "pos": {
+ "x": 4631,
+ "y": 100
+ },
+ "width": 52,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.end.1",
+ "type": "rectangle",
+ "pos": {
+ "x": 4631,
+ "y": 387
+ },
+ "width": 52,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.start.2",
+ "type": "rectangle",
+ "pos": {
+ "x": 4743,
+ "y": 100
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.end.2",
+ "type": "rectangle",
+ "pos": {
+ "x": 4743,
+ "y": 387
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.start.4",
+ "type": "rectangle",
+ "pos": {
+ "x": 4856,
+ "y": 100
+ },
+ "width": 54,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.end.4",
+ "type": "rectangle",
+ "pos": {
+ "x": 4856,
+ "y": 387
+ },
+ "width": 54,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.start.8",
+ "type": "rectangle",
+ "pos": {
+ "x": 4970,
+ "y": 100
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.end.8",
+ "type": "rectangle",
+ "pos": {
+ "x": 4970,
+ "y": 387
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.start.15",
+ "type": "rectangle",
+ "pos": {
+ "x": 5083,
+ "y": 100
+ },
+ "width": 61,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.end.15",
+ "type": "rectangle",
+ "pos": {
+ "x": 5083,
+ "y": 387
+ },
+ "width": 61,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box",
+ "type": "rectangle",
+ "pos": {
+ "x": 5224,
+ "y": 40
+ },
+ "width": 633,
+ "height": 473,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B4",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "filled-box",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 112,
+ "labelHeight": 36,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "filled-box.start",
+ "type": "rectangle",
+ "pos": {
+ "x": 5254,
+ "y": 70
+ },
+ "width": 573,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B5",
+ "stroke": "B1",
+ "animated": false,
+ "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": 0,
+ "labelHeight": 0,
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "filled-box.end",
+ "type": "rectangle",
+ "pos": {
+ "x": 5254,
+ "y": 357
+ },
+ "width": 573,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B5",
+ "stroke": "B1",
+ "animated": false,
+ "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": 0,
+ "labelHeight": 0,
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "filled-box.start.1",
+ "type": "rectangle",
+ "pos": {
+ "x": 5284,
+ "y": 100
+ },
+ "width": 52,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.end.1",
+ "type": "rectangle",
+ "pos": {
+ "x": 5284,
+ "y": 387
+ },
+ "width": 52,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.start.2",
+ "type": "rectangle",
+ "pos": {
+ "x": 5396,
+ "y": 100
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.end.2",
+ "type": "rectangle",
+ "pos": {
+ "x": 5396,
+ "y": 387
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.start.4",
+ "type": "rectangle",
+ "pos": {
+ "x": 5509,
+ "y": 100
+ },
+ "width": 54,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.end.4",
+ "type": "rectangle",
+ "pos": {
+ "x": 5509,
+ "y": 387
+ },
+ "width": 54,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.start.8",
+ "type": "rectangle",
+ "pos": {
+ "x": 5623,
+ "y": 100
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.end.8",
+ "type": "rectangle",
+ "pos": {
+ "x": 5623,
+ "y": 387
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.start.15",
+ "type": "rectangle",
+ "pos": {
+ "x": 5736,
+ "y": 100
+ },
+ "width": 61,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.end.15",
+ "type": "rectangle",
+ "pos": {
+ "x": 5736,
+ "y": 387
+ },
+ "width": 61,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "cf one",
+ "type": "rectangle",
+ "pos": {
+ "x": 5877,
+ "y": 40
+ },
+ "width": 633,
+ "height": 473,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B4",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
"label": "cf one",
"fontSize": 28,
"fontFamily": "DEFAULT",
@@ -3857,7 +4945,7 @@
"id": "cf one.start",
"type": "rectangle",
"pos": {
- "x": 4601,
+ "x": 5907,
"y": 70
},
"width": 573,
@@ -3898,7 +4986,7 @@
"id": "cf one.end",
"type": "rectangle",
"pos": {
- "x": 4601,
+ "x": 5907,
"y": 357
},
"width": 573,
@@ -3939,7 +5027,7 @@
"id": "cf one.start.1",
"type": "rectangle",
"pos": {
- "x": 4631,
+ "x": 5937,
"y": 100
},
"width": 52,
@@ -3981,7 +5069,7 @@
"id": "cf one.end.1",
"type": "rectangle",
"pos": {
- "x": 4631,
+ "x": 5937,
"y": 387
},
"width": 52,
@@ -4023,7 +5111,7 @@
"id": "cf one.start.2",
"type": "rectangle",
"pos": {
- "x": 4743,
+ "x": 6049,
"y": 100
},
"width": 53,
@@ -4065,7 +5153,7 @@
"id": "cf one.end.2",
"type": "rectangle",
"pos": {
- "x": 4743,
+ "x": 6049,
"y": 387
},
"width": 53,
@@ -4107,7 +5195,7 @@
"id": "cf one.start.4",
"type": "rectangle",
"pos": {
- "x": 4856,
+ "x": 6162,
"y": 100
},
"width": 54,
@@ -4149,7 +5237,7 @@
"id": "cf one.end.4",
"type": "rectangle",
"pos": {
- "x": 4856,
+ "x": 6162,
"y": 387
},
"width": 54,
@@ -4191,7 +5279,7 @@
"id": "cf one.start.8",
"type": "rectangle",
"pos": {
- "x": 4970,
+ "x": 6276,
"y": 100
},
"width": 53,
@@ -4233,7 +5321,7 @@
"id": "cf one.end.8",
"type": "rectangle",
"pos": {
- "x": 4970,
+ "x": 6276,
"y": 387
},
"width": 53,
@@ -4275,7 +5363,7 @@
"id": "cf one.start.15",
"type": "rectangle",
"pos": {
- "x": 5083,
+ "x": 6389,
"y": 100
},
"width": 61,
@@ -4317,7 +5405,7 @@
"id": "cf one.end.15",
"type": "rectangle",
"pos": {
- "x": 5083,
+ "x": 6389,
"y": 387
},
"width": 61,
@@ -4359,7 +5447,7 @@
"id": "cf one required",
"type": "rectangle",
"pos": {
- "x": 5224,
+ "x": 6530,
"y": 40
},
"width": 633,
@@ -4401,7 +5489,7 @@
"id": "cf one required.start",
"type": "rectangle",
"pos": {
- "x": 5254,
+ "x": 6560,
"y": 70
},
"width": 573,
@@ -4442,7 +5530,7 @@
"id": "cf one required.end",
"type": "rectangle",
"pos": {
- "x": 5254,
+ "x": 6560,
"y": 357
},
"width": 573,
@@ -4483,7 +5571,7 @@
"id": "cf one required.start.1",
"type": "rectangle",
"pos": {
- "x": 5284,
+ "x": 6590,
"y": 100
},
"width": 52,
@@ -4525,7 +5613,7 @@
"id": "cf one required.end.1",
"type": "rectangle",
"pos": {
- "x": 5284,
+ "x": 6590,
"y": 387
},
"width": 52,
@@ -4567,7 +5655,7 @@
"id": "cf one required.start.2",
"type": "rectangle",
"pos": {
- "x": 5396,
+ "x": 6702,
"y": 100
},
"width": 53,
@@ -4609,7 +5697,7 @@
"id": "cf one required.end.2",
"type": "rectangle",
"pos": {
- "x": 5396,
+ "x": 6702,
"y": 387
},
"width": 53,
@@ -4651,7 +5739,7 @@
"id": "cf one required.start.4",
"type": "rectangle",
"pos": {
- "x": 5509,
+ "x": 6815,
"y": 100
},
"width": 54,
@@ -4693,7 +5781,7 @@
"id": "cf one required.end.4",
"type": "rectangle",
"pos": {
- "x": 5509,
+ "x": 6815,
"y": 387
},
"width": 54,
@@ -4735,7 +5823,7 @@
"id": "cf one required.start.8",
"type": "rectangle",
"pos": {
- "x": 5623,
+ "x": 6929,
"y": 100
},
"width": 53,
@@ -4777,7 +5865,7 @@
"id": "cf one required.end.8",
"type": "rectangle",
"pos": {
- "x": 5623,
+ "x": 6929,
"y": 387
},
"width": 53,
@@ -4819,7 +5907,7 @@
"id": "cf one required.start.15",
"type": "rectangle",
"pos": {
- "x": 5736,
+ "x": 7042,
"y": 100
},
"width": 61,
@@ -4861,7 +5949,7 @@
"id": "cf one required.end.15",
"type": "rectangle",
"pos": {
- "x": 5736,
+ "x": 7042,
"y": 387
},
"width": 61,
@@ -4903,7 +5991,7 @@
"id": "cf many",
"type": "rectangle",
"pos": {
- "x": 5877,
+ "x": 7183,
"y": 40
},
"width": 633,
@@ -4945,7 +6033,7 @@
"id": "cf many.start",
"type": "rectangle",
"pos": {
- "x": 5907,
+ "x": 7213,
"y": 70
},
"width": 573,
@@ -4986,7 +6074,7 @@
"id": "cf many.end",
"type": "rectangle",
"pos": {
- "x": 5907,
+ "x": 7213,
"y": 357
},
"width": 573,
@@ -5027,7 +6115,7 @@
"id": "cf many.start.1",
"type": "rectangle",
"pos": {
- "x": 5937,
+ "x": 7243,
"y": 100
},
"width": 52,
@@ -5069,7 +6157,7 @@
"id": "cf many.end.1",
"type": "rectangle",
"pos": {
- "x": 5937,
+ "x": 7243,
"y": 387
},
"width": 52,
@@ -5111,7 +6199,7 @@
"id": "cf many.start.2",
"type": "rectangle",
"pos": {
- "x": 6049,
+ "x": 7355,
"y": 100
},
"width": 53,
@@ -5153,7 +6241,7 @@
"id": "cf many.end.2",
"type": "rectangle",
"pos": {
- "x": 6049,
+ "x": 7355,
"y": 387
},
"width": 53,
@@ -5195,7 +6283,7 @@
"id": "cf many.start.4",
"type": "rectangle",
"pos": {
- "x": 6162,
+ "x": 7468,
"y": 100
},
"width": 54,
@@ -5237,7 +6325,7 @@
"id": "cf many.end.4",
"type": "rectangle",
"pos": {
- "x": 6162,
+ "x": 7468,
"y": 387
},
"width": 54,
@@ -5279,7 +6367,7 @@
"id": "cf many.start.8",
"type": "rectangle",
"pos": {
- "x": 6276,
+ "x": 7582,
"y": 100
},
"width": 53,
@@ -5321,7 +6409,7 @@
"id": "cf many.end.8",
"type": "rectangle",
"pos": {
- "x": 6276,
+ "x": 7582,
"y": 387
},
"width": 53,
@@ -5363,7 +6451,7 @@
"id": "cf many.start.15",
"type": "rectangle",
"pos": {
- "x": 6389,
+ "x": 7695,
"y": 100
},
"width": 61,
@@ -5405,7 +6493,7 @@
"id": "cf many.end.15",
"type": "rectangle",
"pos": {
- "x": 6389,
+ "x": 7695,
"y": 387
},
"width": 61,
@@ -5447,7 +6535,7 @@
"id": "cf many required",
"type": "rectangle",
"pos": {
- "x": 6530,
+ "x": 7836,
"y": 40
},
"width": 633,
@@ -5489,7 +6577,7 @@
"id": "cf many required.start",
"type": "rectangle",
"pos": {
- "x": 6560,
+ "x": 7866,
"y": 70
},
"width": 573,
@@ -5530,7 +6618,7 @@
"id": "cf many required.end",
"type": "rectangle",
"pos": {
- "x": 6560,
+ "x": 7866,
"y": 357
},
"width": 573,
@@ -5571,7 +6659,7 @@
"id": "cf many required.start.1",
"type": "rectangle",
"pos": {
- "x": 6590,
+ "x": 7896,
"y": 100
},
"width": 52,
@@ -5613,7 +6701,7 @@
"id": "cf many required.end.1",
"type": "rectangle",
"pos": {
- "x": 6590,
+ "x": 7896,
"y": 387
},
"width": 52,
@@ -5655,7 +6743,7 @@
"id": "cf many required.start.2",
"type": "rectangle",
"pos": {
- "x": 6702,
+ "x": 8008,
"y": 100
},
"width": 53,
@@ -5697,7 +6785,7 @@
"id": "cf many required.end.2",
"type": "rectangle",
"pos": {
- "x": 6702,
+ "x": 8008,
"y": 387
},
"width": 53,
@@ -5739,7 +6827,7 @@
"id": "cf many required.start.4",
"type": "rectangle",
"pos": {
- "x": 6815,
+ "x": 8121,
"y": 100
},
"width": 54,
@@ -5781,7 +6869,7 @@
"id": "cf many required.end.4",
"type": "rectangle",
"pos": {
- "x": 6815,
+ "x": 8121,
"y": 387
},
"width": 54,
@@ -5823,7 +6911,7 @@
"id": "cf many required.start.8",
"type": "rectangle",
"pos": {
- "x": 6929,
+ "x": 8235,
"y": 100
},
"width": 53,
@@ -5865,7 +6953,7 @@
"id": "cf many required.end.8",
"type": "rectangle",
"pos": {
- "x": 6929,
+ "x": 8235,
"y": 387
},
"width": 53,
@@ -5907,7 +6995,7 @@
"id": "cf many required.start.15",
"type": "rectangle",
"pos": {
- "x": 7042,
+ "x": 8348,
"y": 100
},
"width": 61,
@@ -5949,7 +7037,7 @@
"id": "cf many required.end.15",
"type": "rectangle",
"pos": {
- "x": 7042,
+ "x": 8348,
"y": 387
},
"width": 61,
@@ -8090,11 +9178,11 @@
"zIndex": 0
},
{
- "id": "cf one.(start.1 <-> end.1)[0]",
- "src": "cf one.start.1",
- "srcArrow": "cf-one",
- "dst": "cf one.end.1",
- "dstArrow": "cf-one",
+ "id": "box.(start.1 <-> end.1)[0]",
+ "src": "box.start.1",
+ "srcArrow": "box",
+ "dst": "box.end.1",
+ "dstArrow": "box",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 1,
@@ -8149,6 +9237,606 @@
"icon": null,
"zIndex": 0
},
+ {
+ "id": "box.(start.2 <-> end.2)[0]",
+ "src": "box.start.2",
+ "srcArrow": "box",
+ "dst": "box.end.2",
+ "dstArrow": "box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 4769.5,
+ "y": 166
+ },
+ {
+ "x": 4769.5,
+ "y": 206
+ },
+ {
+ "x": 4769.5,
+ "y": 228.10000610351562
+ },
+ {
+ "x": 4769.5,
+ "y": 246.25
+ },
+ {
+ "x": 4769.5,
+ "y": 264.3999938964844
+ },
+ {
+ "x": 4769.5,
+ "y": 347
+ },
+ {
+ "x": 4769.5,
+ "y": 387
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "box.(start.4 <-> end.4)[0]",
+ "src": "box.start.4",
+ "srcArrow": "box",
+ "dst": "box.end.4",
+ "dstArrow": "box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 4,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 4883,
+ "y": 166
+ },
+ {
+ "x": 4883,
+ "y": 206
+ },
+ {
+ "x": 4883,
+ "y": 228.10000610351562
+ },
+ {
+ "x": 4883,
+ "y": 246.25
+ },
+ {
+ "x": 4883,
+ "y": 264.3999938964844
+ },
+ {
+ "x": 4883,
+ "y": 347
+ },
+ {
+ "x": 4883,
+ "y": 387
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "box.(start.8 <-> end.8)[0]",
+ "src": "box.start.8",
+ "srcArrow": "box",
+ "dst": "box.end.8",
+ "dstArrow": "box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 8,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 4996.5,
+ "y": 166
+ },
+ {
+ "x": 4996.5,
+ "y": 206
+ },
+ {
+ "x": 4996.5,
+ "y": 228.10000610351562
+ },
+ {
+ "x": 4996.5,
+ "y": 246.25
+ },
+ {
+ "x": 4996.5,
+ "y": 264.3999938964844
+ },
+ {
+ "x": 4996.5,
+ "y": 347
+ },
+ {
+ "x": 4996.5,
+ "y": 387
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "box.(start.15 <-> end.15)[0]",
+ "src": "box.start.15",
+ "srcArrow": "box",
+ "dst": "box.end.15",
+ "dstArrow": "box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 15,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 5113.5,
+ "y": 166
+ },
+ {
+ "x": 5113.5,
+ "y": 206
+ },
+ {
+ "x": 5113.5,
+ "y": 228.10000610351562
+ },
+ {
+ "x": 5113.5,
+ "y": 246.25
+ },
+ {
+ "x": 5113.5,
+ "y": 264.3999938964844
+ },
+ {
+ "x": 5113.5,
+ "y": 347
+ },
+ {
+ "x": 5113.5,
+ "y": 387
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "filled-box.(start.1 <-> end.1)[0]",
+ "src": "filled-box.start.1",
+ "srcArrow": "filled-box",
+ "dst": "filled-box.end.1",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 1,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 5310,
+ "y": 166
+ },
+ {
+ "x": 5310,
+ "y": 206
+ },
+ {
+ "x": 5310,
+ "y": 228.10000610351562
+ },
+ {
+ "x": 5310,
+ "y": 246.25
+ },
+ {
+ "x": 5310,
+ "y": 264.3999938964844
+ },
+ {
+ "x": 5310,
+ "y": 347
+ },
+ {
+ "x": 5310,
+ "y": 387
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "filled-box.(start.2 <-> end.2)[0]",
+ "src": "filled-box.start.2",
+ "srcArrow": "filled-box",
+ "dst": "filled-box.end.2",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 5422.5,
+ "y": 166
+ },
+ {
+ "x": 5422.5,
+ "y": 206
+ },
+ {
+ "x": 5422.5,
+ "y": 228.10000610351562
+ },
+ {
+ "x": 5422.5,
+ "y": 246.25
+ },
+ {
+ "x": 5422.5,
+ "y": 264.3999938964844
+ },
+ {
+ "x": 5422.5,
+ "y": 347
+ },
+ {
+ "x": 5422.5,
+ "y": 387
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "filled-box.(start.4 <-> end.4)[0]",
+ "src": "filled-box.start.4",
+ "srcArrow": "filled-box",
+ "dst": "filled-box.end.4",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 4,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 5536,
+ "y": 166
+ },
+ {
+ "x": 5536,
+ "y": 206
+ },
+ {
+ "x": 5536,
+ "y": 228.10000610351562
+ },
+ {
+ "x": 5536,
+ "y": 246.25
+ },
+ {
+ "x": 5536,
+ "y": 264.3999938964844
+ },
+ {
+ "x": 5536,
+ "y": 347
+ },
+ {
+ "x": 5536,
+ "y": 387
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "filled-box.(start.8 <-> end.8)[0]",
+ "src": "filled-box.start.8",
+ "srcArrow": "filled-box",
+ "dst": "filled-box.end.8",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 8,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 5649.5,
+ "y": 166
+ },
+ {
+ "x": 5649.5,
+ "y": 206
+ },
+ {
+ "x": 5649.5,
+ "y": 228.10000610351562
+ },
+ {
+ "x": 5649.5,
+ "y": 246.25
+ },
+ {
+ "x": 5649.5,
+ "y": 264.3999938964844
+ },
+ {
+ "x": 5649.5,
+ "y": 347
+ },
+ {
+ "x": 5649.5,
+ "y": 387
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "filled-box.(start.15 <-> end.15)[0]",
+ "src": "filled-box.start.15",
+ "srcArrow": "filled-box",
+ "dst": "filled-box.end.15",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 15,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 5766.5,
+ "y": 166
+ },
+ {
+ "x": 5766.5,
+ "y": 206
+ },
+ {
+ "x": 5766.5,
+ "y": 228.10000610351562
+ },
+ {
+ "x": 5766.5,
+ "y": 246.25
+ },
+ {
+ "x": 5766.5,
+ "y": 264.3999938964844
+ },
+ {
+ "x": 5766.5,
+ "y": 347
+ },
+ {
+ "x": 5766.5,
+ "y": 387
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "cf one.(start.1 <-> end.1)[0]",
+ "src": "cf one.start.1",
+ "srcArrow": "cf-one",
+ "dst": "cf one.end.1",
+ "dstArrow": "cf-one",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 1,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 5963,
+ "y": 166
+ },
+ {
+ "x": 5963,
+ "y": 206
+ },
+ {
+ "x": 5963,
+ "y": 228.10000610351562
+ },
+ {
+ "x": 5963,
+ "y": 246.25
+ },
+ {
+ "x": 5963,
+ "y": 264.3999938964844
+ },
+ {
+ "x": 5963,
+ "y": 347
+ },
+ {
+ "x": 5963,
+ "y": 387
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
{
"id": "cf one.(start.2 <-> end.2)[0]",
"src": "cf one.start.2",
@@ -8175,31 +9863,31 @@
"link": "",
"route": [
{
- "x": 4769.5,
+ "x": 6075.5,
"y": 166
},
{
- "x": 4769.5,
+ "x": 6075.5,
"y": 206
},
{
- "x": 4769.5,
+ "x": 6075.5,
"y": 228.10000610351562
},
{
- "x": 4769.5,
+ "x": 6075.5,
"y": 246.25
},
{
- "x": 4769.5,
+ "x": 6075.5,
"y": 264.3999938964844
},
{
- "x": 4769.5,
+ "x": 6075.5,
"y": 347
},
{
- "x": 4769.5,
+ "x": 6075.5,
"y": 387
}
],
@@ -8235,31 +9923,31 @@
"link": "",
"route": [
{
- "x": 4883,
+ "x": 6189,
"y": 166
},
{
- "x": 4883,
+ "x": 6189,
"y": 206
},
{
- "x": 4883,
+ "x": 6189,
"y": 228.10000610351562
},
{
- "x": 4883,
+ "x": 6189,
"y": 246.25
},
{
- "x": 4883,
+ "x": 6189,
"y": 264.3999938964844
},
{
- "x": 4883,
+ "x": 6189,
"y": 347
},
{
- "x": 4883,
+ "x": 6189,
"y": 387
}
],
@@ -8295,31 +9983,31 @@
"link": "",
"route": [
{
- "x": 4996.5,
+ "x": 6302.5,
"y": 166
},
{
- "x": 4996.5,
+ "x": 6302.5,
"y": 206
},
{
- "x": 4996.5,
+ "x": 6302.5,
"y": 228.10000610351562
},
{
- "x": 4996.5,
+ "x": 6302.5,
"y": 246.25
},
{
- "x": 4996.5,
+ "x": 6302.5,
"y": 264.3999938964844
},
{
- "x": 4996.5,
+ "x": 6302.5,
"y": 347
},
{
- "x": 4996.5,
+ "x": 6302.5,
"y": 387
}
],
@@ -8355,31 +10043,31 @@
"link": "",
"route": [
{
- "x": 5113.5,
+ "x": 6419.5,
"y": 166
},
{
- "x": 5113.5,
+ "x": 6419.5,
"y": 206
},
{
- "x": 5113.5,
+ "x": 6419.5,
"y": 228.10000610351562
},
{
- "x": 5113.5,
+ "x": 6419.5,
"y": 246.25
},
{
- "x": 5113.5,
+ "x": 6419.5,
"y": 264.3999938964844
},
{
- "x": 5113.5,
+ "x": 6419.5,
"y": 347
},
{
- "x": 5113.5,
+ "x": 6419.5,
"y": 387
}
],
@@ -8415,31 +10103,31 @@
"link": "",
"route": [
{
- "x": 5310,
+ "x": 6616,
"y": 166
},
{
- "x": 5310,
+ "x": 6616,
"y": 206
},
{
- "x": 5310,
+ "x": 6616,
"y": 228.10000610351562
},
{
- "x": 5310,
+ "x": 6616,
"y": 246.25
},
{
- "x": 5310,
+ "x": 6616,
"y": 264.3999938964844
},
{
- "x": 5310,
+ "x": 6616,
"y": 347
},
{
- "x": 5310,
+ "x": 6616,
"y": 387
}
],
@@ -8475,31 +10163,31 @@
"link": "",
"route": [
{
- "x": 5422.5,
+ "x": 6728.5,
"y": 166
},
{
- "x": 5422.5,
+ "x": 6728.5,
"y": 206
},
{
- "x": 5422.5,
+ "x": 6728.5,
"y": 228.10000610351562
},
{
- "x": 5422.5,
+ "x": 6728.5,
"y": 246.25
},
{
- "x": 5422.5,
+ "x": 6728.5,
"y": 264.3999938964844
},
{
- "x": 5422.5,
+ "x": 6728.5,
"y": 347
},
{
- "x": 5422.5,
+ "x": 6728.5,
"y": 387
}
],
@@ -8535,31 +10223,31 @@
"link": "",
"route": [
{
- "x": 5536,
+ "x": 6842,
"y": 166
},
{
- "x": 5536,
+ "x": 6842,
"y": 206
},
{
- "x": 5536,
+ "x": 6842,
"y": 228.10000610351562
},
{
- "x": 5536,
+ "x": 6842,
"y": 246.25
},
{
- "x": 5536,
+ "x": 6842,
"y": 264.3999938964844
},
{
- "x": 5536,
+ "x": 6842,
"y": 347
},
{
- "x": 5536,
+ "x": 6842,
"y": 387
}
],
@@ -8595,31 +10283,31 @@
"link": "",
"route": [
{
- "x": 5649.5,
+ "x": 6955.5,
"y": 166
},
{
- "x": 5649.5,
+ "x": 6955.5,
"y": 206
},
{
- "x": 5649.5,
+ "x": 6955.5,
"y": 228.10000610351562
},
{
- "x": 5649.5,
+ "x": 6955.5,
"y": 246.25
},
{
- "x": 5649.5,
+ "x": 6955.5,
"y": 264.3999938964844
},
{
- "x": 5649.5,
+ "x": 6955.5,
"y": 347
},
{
- "x": 5649.5,
+ "x": 6955.5,
"y": 387
}
],
@@ -8655,31 +10343,31 @@
"link": "",
"route": [
{
- "x": 5766.5,
+ "x": 7072.5,
"y": 166
},
{
- "x": 5766.5,
+ "x": 7072.5,
"y": 206
},
{
- "x": 5766.5,
+ "x": 7072.5,
"y": 228.10000610351562
},
{
- "x": 5766.5,
+ "x": 7072.5,
"y": 246.25
},
{
- "x": 5766.5,
+ "x": 7072.5,
"y": 264.3999938964844
},
{
- "x": 5766.5,
+ "x": 7072.5,
"y": 347
},
{
- "x": 5766.5,
+ "x": 7072.5,
"y": 387
}
],
@@ -8715,31 +10403,31 @@
"link": "",
"route": [
{
- "x": 5963,
+ "x": 7269,
"y": 166
},
{
- "x": 5963,
+ "x": 7269,
"y": 206
},
{
- "x": 5963,
+ "x": 7269,
"y": 228.10000610351562
},
{
- "x": 5963,
+ "x": 7269,
"y": 246.25
},
{
- "x": 5963,
+ "x": 7269,
"y": 264.3999938964844
},
{
- "x": 5963,
+ "x": 7269,
"y": 347
},
{
- "x": 5963,
+ "x": 7269,
"y": 387
}
],
@@ -8775,31 +10463,31 @@
"link": "",
"route": [
{
- "x": 6075.5,
+ "x": 7381.5,
"y": 166
},
{
- "x": 6075.5,
+ "x": 7381.5,
"y": 206
},
{
- "x": 6075.5,
+ "x": 7381.5,
"y": 228.10000610351562
},
{
- "x": 6075.5,
+ "x": 7381.5,
"y": 246.25
},
{
- "x": 6075.5,
+ "x": 7381.5,
"y": 264.3999938964844
},
{
- "x": 6075.5,
+ "x": 7381.5,
"y": 347
},
{
- "x": 6075.5,
+ "x": 7381.5,
"y": 387
}
],
@@ -8835,31 +10523,31 @@
"link": "",
"route": [
{
- "x": 6189,
+ "x": 7495,
"y": 166
},
{
- "x": 6189,
+ "x": 7495,
"y": 206
},
{
- "x": 6189,
+ "x": 7495,
"y": 228.10000610351562
},
{
- "x": 6189,
+ "x": 7495,
"y": 246.25
},
{
- "x": 6189,
+ "x": 7495,
"y": 264.3999938964844
},
{
- "x": 6189,
+ "x": 7495,
"y": 347
},
{
- "x": 6189,
+ "x": 7495,
"y": 387
}
],
@@ -8895,31 +10583,31 @@
"link": "",
"route": [
{
- "x": 6302.5,
+ "x": 7608.5,
"y": 166
},
{
- "x": 6302.5,
+ "x": 7608.5,
"y": 206
},
{
- "x": 6302.5,
+ "x": 7608.5,
"y": 228.10000610351562
},
{
- "x": 6302.5,
+ "x": 7608.5,
"y": 246.25
},
{
- "x": 6302.5,
+ "x": 7608.5,
"y": 264.3999938964844
},
{
- "x": 6302.5,
+ "x": 7608.5,
"y": 347
},
{
- "x": 6302.5,
+ "x": 7608.5,
"y": 387
}
],
@@ -8955,31 +10643,31 @@
"link": "",
"route": [
{
- "x": 6419.5,
+ "x": 7725.5,
"y": 166
},
{
- "x": 6419.5,
+ "x": 7725.5,
"y": 206
},
{
- "x": 6419.5,
+ "x": 7725.5,
"y": 228.10000610351562
},
{
- "x": 6419.5,
+ "x": 7725.5,
"y": 246.25
},
{
- "x": 6419.5,
+ "x": 7725.5,
"y": 264.3999938964844
},
{
- "x": 6419.5,
+ "x": 7725.5,
"y": 347
},
{
- "x": 6419.5,
+ "x": 7725.5,
"y": 387
}
],
@@ -9015,31 +10703,31 @@
"link": "",
"route": [
{
- "x": 6616,
+ "x": 7922,
"y": 166
},
{
- "x": 6616,
+ "x": 7922,
"y": 206
},
{
- "x": 6616,
+ "x": 7922,
"y": 228.10000610351562
},
{
- "x": 6616,
+ "x": 7922,
"y": 246.25
},
{
- "x": 6616,
+ "x": 7922,
"y": 264.3999938964844
},
{
- "x": 6616,
+ "x": 7922,
"y": 347
},
{
- "x": 6616,
+ "x": 7922,
"y": 387
}
],
@@ -9075,31 +10763,31 @@
"link": "",
"route": [
{
- "x": 6728.5,
+ "x": 8034.5,
"y": 166
},
{
- "x": 6728.5,
+ "x": 8034.5,
"y": 206
},
{
- "x": 6728.5,
+ "x": 8034.5,
"y": 228.10000610351562
},
{
- "x": 6728.5,
+ "x": 8034.5,
"y": 246.25
},
{
- "x": 6728.5,
+ "x": 8034.5,
"y": 264.3999938964844
},
{
- "x": 6728.5,
+ "x": 8034.5,
"y": 347
},
{
- "x": 6728.5,
+ "x": 8034.5,
"y": 387
}
],
@@ -9135,31 +10823,31 @@
"link": "",
"route": [
{
- "x": 6842,
+ "x": 8148,
"y": 166
},
{
- "x": 6842,
+ "x": 8148,
"y": 206
},
{
- "x": 6842,
+ "x": 8148,
"y": 228.10000610351562
},
{
- "x": 6842,
+ "x": 8148,
"y": 246.25
},
{
- "x": 6842,
+ "x": 8148,
"y": 264.3999938964844
},
{
- "x": 6842,
+ "x": 8148,
"y": 347
},
{
- "x": 6842,
+ "x": 8148,
"y": 387
}
],
@@ -9195,31 +10883,31 @@
"link": "",
"route": [
{
- "x": 6955.5,
+ "x": 8261.5,
"y": 166
},
{
- "x": 6955.5,
+ "x": 8261.5,
"y": 206
},
{
- "x": 6955.5,
+ "x": 8261.5,
"y": 228.10000610351562
},
{
- "x": 6955.5,
+ "x": 8261.5,
"y": 246.25
},
{
- "x": 6955.5,
+ "x": 8261.5,
"y": 264.3999938964844
},
{
- "x": 6955.5,
+ "x": 8261.5,
"y": 347
},
{
- "x": 6955.5,
+ "x": 8261.5,
"y": 387
}
],
@@ -9255,31 +10943,31 @@
"link": "",
"route": [
{
- "x": 7072.5,
+ "x": 8378.5,
"y": 166
},
{
- "x": 7072.5,
+ "x": 8378.5,
"y": 206
},
{
- "x": 7072.5,
+ "x": 8378.5,
"y": 228.10000610351562
},
{
- "x": 7072.5,
+ "x": 8378.5,
"y": 246.25
},
{
- "x": 7072.5,
+ "x": 8378.5,
"y": 264.3999938964844
},
{
- "x": 7072.5,
+ "x": 8378.5,
"y": 347
},
{
- "x": 7072.5,
+ "x": 8378.5,
"y": 387
}
],
diff --git a/e2etests/testdata/stable/arrowhead_scaling/dagre/sketch.exp.svg b/e2etests/testdata/stable/arrowhead_scaling/dagre/sketch.exp.svg
index d9156b9f9..49dcede02 100644
--- a/e2etests/testdata/stable/arrowhead_scaling/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/arrowhead_scaling/dagre/sketch.exp.svg
@@ -1,24 +1,24 @@
-defaultlinearrowdiamondfilled diamondcirclefilled circlecf onecf one requiredcf manycf many required112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515 1 2 4 8 15124815 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15
-
+ .d2-1125332013 .fill-N1{fill:#0A0F25;}
+ .d2-1125332013 .fill-N2{fill:#676C7E;}
+ .d2-1125332013 .fill-N3{fill:#9499AB;}
+ .d2-1125332013 .fill-N4{fill:#CFD2DD;}
+ .d2-1125332013 .fill-N5{fill:#DEE1EB;}
+ .d2-1125332013 .fill-N6{fill:#EEF1F8;}
+ .d2-1125332013 .fill-N7{fill:#FFFFFF;}
+ .d2-1125332013 .fill-B1{fill:#0D32B2;}
+ .d2-1125332013 .fill-B2{fill:#0D32B2;}
+ .d2-1125332013 .fill-B3{fill:#E3E9FD;}
+ .d2-1125332013 .fill-B4{fill:#E3E9FD;}
+ .d2-1125332013 .fill-B5{fill:#EDF0FD;}
+ .d2-1125332013 .fill-B6{fill:#F7F8FE;}
+ .d2-1125332013 .fill-AA2{fill:#4A6FF3;}
+ .d2-1125332013 .fill-AA4{fill:#EDF0FD;}
+ .d2-1125332013 .fill-AA5{fill:#F7F8FE;}
+ .d2-1125332013 .fill-AB4{fill:#EDF0FD;}
+ .d2-1125332013 .fill-AB5{fill:#F7F8FE;}
+ .d2-1125332013 .stroke-N1{stroke:#0A0F25;}
+ .d2-1125332013 .stroke-N2{stroke:#676C7E;}
+ .d2-1125332013 .stroke-N3{stroke:#9499AB;}
+ .d2-1125332013 .stroke-N4{stroke:#CFD2DD;}
+ .d2-1125332013 .stroke-N5{stroke:#DEE1EB;}
+ .d2-1125332013 .stroke-N6{stroke:#EEF1F8;}
+ .d2-1125332013 .stroke-N7{stroke:#FFFFFF;}
+ .d2-1125332013 .stroke-B1{stroke:#0D32B2;}
+ .d2-1125332013 .stroke-B2{stroke:#0D32B2;}
+ .d2-1125332013 .stroke-B3{stroke:#E3E9FD;}
+ .d2-1125332013 .stroke-B4{stroke:#E3E9FD;}
+ .d2-1125332013 .stroke-B5{stroke:#EDF0FD;}
+ .d2-1125332013 .stroke-B6{stroke:#F7F8FE;}
+ .d2-1125332013 .stroke-AA2{stroke:#4A6FF3;}
+ .d2-1125332013 .stroke-AA4{stroke:#EDF0FD;}
+ .d2-1125332013 .stroke-AA5{stroke:#F7F8FE;}
+ .d2-1125332013 .stroke-AB4{stroke:#EDF0FD;}
+ .d2-1125332013 .stroke-AB5{stroke:#F7F8FE;}
+ .d2-1125332013 .background-color-N1{background-color:#0A0F25;}
+ .d2-1125332013 .background-color-N2{background-color:#676C7E;}
+ .d2-1125332013 .background-color-N3{background-color:#9499AB;}
+ .d2-1125332013 .background-color-N4{background-color:#CFD2DD;}
+ .d2-1125332013 .background-color-N5{background-color:#DEE1EB;}
+ .d2-1125332013 .background-color-N6{background-color:#EEF1F8;}
+ .d2-1125332013 .background-color-N7{background-color:#FFFFFF;}
+ .d2-1125332013 .background-color-B1{background-color:#0D32B2;}
+ .d2-1125332013 .background-color-B2{background-color:#0D32B2;}
+ .d2-1125332013 .background-color-B3{background-color:#E3E9FD;}
+ .d2-1125332013 .background-color-B4{background-color:#E3E9FD;}
+ .d2-1125332013 .background-color-B5{background-color:#EDF0FD;}
+ .d2-1125332013 .background-color-B6{background-color:#F7F8FE;}
+ .d2-1125332013 .background-color-AA2{background-color:#4A6FF3;}
+ .d2-1125332013 .background-color-AA4{background-color:#EDF0FD;}
+ .d2-1125332013 .background-color-AA5{background-color:#F7F8FE;}
+ .d2-1125332013 .background-color-AB4{background-color:#EDF0FD;}
+ .d2-1125332013 .background-color-AB5{background-color:#F7F8FE;}
+ .d2-1125332013 .color-N1{color:#0A0F25;}
+ .d2-1125332013 .color-N2{color:#676C7E;}
+ .d2-1125332013 .color-N3{color:#9499AB;}
+ .d2-1125332013 .color-N4{color:#CFD2DD;}
+ .d2-1125332013 .color-N5{color:#DEE1EB;}
+ .d2-1125332013 .color-N6{color:#EEF1F8;}
+ .d2-1125332013 .color-N7{color:#FFFFFF;}
+ .d2-1125332013 .color-B1{color:#0D32B2;}
+ .d2-1125332013 .color-B2{color:#0D32B2;}
+ .d2-1125332013 .color-B3{color:#E3E9FD;}
+ .d2-1125332013 .color-B4{color:#E3E9FD;}
+ .d2-1125332013 .color-B5{color:#EDF0FD;}
+ .d2-1125332013 .color-B6{color:#F7F8FE;}
+ .d2-1125332013 .color-AA2{color:#4A6FF3;}
+ .d2-1125332013 .color-AA4{color:#EDF0FD;}
+ .d2-1125332013 .color-AA5{color:#F7F8FE;}
+ .d2-1125332013 .color-AB4{color:#EDF0FD;}
+ .d2-1125332013 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]>defaultlinearrowdiamondfilled diamondcirclefilled circleboxfilled-boxcf onecf one requiredcf manycf many required112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515 1 2 4 8 15124815 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15
+
@@ -112,10 +112,12 @@
-
-
-
-
+
+
+
+
+
+
@@ -226,6 +228,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -281,4 +303,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/stable/arrowhead_scaling/elk/board.exp.json b/e2etests/testdata/stable/arrowhead_scaling/elk/board.exp.json
index 777e4455f..47a251223 100644
--- a/e2etests/testdata/stable/arrowhead_scaling/elk/board.exp.json
+++ b/e2etests/testdata/stable/arrowhead_scaling/elk/board.exp.json
@@ -3812,7 +3812,7 @@
"level": 3
},
{
- "id": "cf one",
+ "id": "box",
"type": "rectangle",
"pos": {
"x": 4023,
@@ -3839,6 +3839,1094 @@
"fields": null,
"methods": null,
"columns": null,
+ "label": "box",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 42,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "box.start",
+ "type": "rectangle",
+ "pos": {
+ "x": 4073,
+ "y": 62
+ },
+ "width": 453,
+ "height": 166,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B5",
+ "stroke": "B1",
+ "animated": false,
+ "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": 0,
+ "labelHeight": 0,
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "box.end",
+ "type": "rectangle",
+ "pos": {
+ "x": 4073,
+ "y": 399
+ },
+ "width": 453,
+ "height": 166,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B5",
+ "stroke": "B1",
+ "animated": false,
+ "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": 0,
+ "labelHeight": 0,
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "box.start.1",
+ "type": "rectangle",
+ "pos": {
+ "x": 4123,
+ "y": 112
+ },
+ "width": 52,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.end.1",
+ "type": "rectangle",
+ "pos": {
+ "x": 4123,
+ "y": 449
+ },
+ "width": 52,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.start.2",
+ "type": "rectangle",
+ "pos": {
+ "x": 4195,
+ "y": 112
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.end.2",
+ "type": "rectangle",
+ "pos": {
+ "x": 4195,
+ "y": 449
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.start.4",
+ "type": "rectangle",
+ "pos": {
+ "x": 4268,
+ "y": 112
+ },
+ "width": 54,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.end.4",
+ "type": "rectangle",
+ "pos": {
+ "x": 4268,
+ "y": 449
+ },
+ "width": 54,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.start.8",
+ "type": "rectangle",
+ "pos": {
+ "x": 4342,
+ "y": 112
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.end.8",
+ "type": "rectangle",
+ "pos": {
+ "x": 4342,
+ "y": 449
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.start.15",
+ "type": "rectangle",
+ "pos": {
+ "x": 4415,
+ "y": 112
+ },
+ "width": 61,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "box.end.15",
+ "type": "rectangle",
+ "pos": {
+ "x": 4415,
+ "y": 449
+ },
+ "width": 61,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box",
+ "type": "rectangle",
+ "pos": {
+ "x": 4596,
+ "y": 12
+ },
+ "width": 553,
+ "height": 603,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B4",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "filled-box",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 112,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "filled-box.start",
+ "type": "rectangle",
+ "pos": {
+ "x": 4646,
+ "y": 62
+ },
+ "width": 453,
+ "height": 166,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B5",
+ "stroke": "B1",
+ "animated": false,
+ "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": 0,
+ "labelHeight": 0,
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "filled-box.end",
+ "type": "rectangle",
+ "pos": {
+ "x": 4646,
+ "y": 399
+ },
+ "width": 453,
+ "height": 166,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B5",
+ "stroke": "B1",
+ "animated": false,
+ "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": 0,
+ "labelHeight": 0,
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "filled-box.start.1",
+ "type": "rectangle",
+ "pos": {
+ "x": 4696,
+ "y": 112
+ },
+ "width": 52,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.end.1",
+ "type": "rectangle",
+ "pos": {
+ "x": 4696,
+ "y": 449
+ },
+ "width": 52,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.start.2",
+ "type": "rectangle",
+ "pos": {
+ "x": 4768,
+ "y": 112
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.end.2",
+ "type": "rectangle",
+ "pos": {
+ "x": 4768,
+ "y": 449
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.start.4",
+ "type": "rectangle",
+ "pos": {
+ "x": 4841,
+ "y": 112
+ },
+ "width": 54,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.end.4",
+ "type": "rectangle",
+ "pos": {
+ "x": 4841,
+ "y": 449
+ },
+ "width": 54,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.start.8",
+ "type": "rectangle",
+ "pos": {
+ "x": 4915,
+ "y": 112
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.end.8",
+ "type": "rectangle",
+ "pos": {
+ "x": 4915,
+ "y": 449
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.start.15",
+ "type": "rectangle",
+ "pos": {
+ "x": 4988,
+ "y": 112
+ },
+ "width": 61,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "filled-box.end.15",
+ "type": "rectangle",
+ "pos": {
+ "x": 4988,
+ "y": 449
+ },
+ "width": 61,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "cf one",
+ "type": "rectangle",
+ "pos": {
+ "x": 5169,
+ "y": 12
+ },
+ "width": 553,
+ "height": 603,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B4",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
"label": "cf one",
"fontSize": 28,
"fontFamily": "DEFAULT",
@@ -3857,7 +4945,7 @@
"id": "cf one.start",
"type": "rectangle",
"pos": {
- "x": 4073,
+ "x": 5219,
"y": 62
},
"width": 453,
@@ -3898,7 +4986,7 @@
"id": "cf one.end",
"type": "rectangle",
"pos": {
- "x": 4073,
+ "x": 5219,
"y": 399
},
"width": 453,
@@ -3939,7 +5027,7 @@
"id": "cf one.start.1",
"type": "rectangle",
"pos": {
- "x": 4123,
+ "x": 5269,
"y": 112
},
"width": 52,
@@ -3981,7 +5069,7 @@
"id": "cf one.end.1",
"type": "rectangle",
"pos": {
- "x": 4123,
+ "x": 5269,
"y": 449
},
"width": 52,
@@ -4023,7 +5111,7 @@
"id": "cf one.start.2",
"type": "rectangle",
"pos": {
- "x": 4195,
+ "x": 5341,
"y": 112
},
"width": 53,
@@ -4065,7 +5153,7 @@
"id": "cf one.end.2",
"type": "rectangle",
"pos": {
- "x": 4195,
+ "x": 5341,
"y": 449
},
"width": 53,
@@ -4107,7 +5195,7 @@
"id": "cf one.start.4",
"type": "rectangle",
"pos": {
- "x": 4268,
+ "x": 5414,
"y": 112
},
"width": 54,
@@ -4149,7 +5237,7 @@
"id": "cf one.end.4",
"type": "rectangle",
"pos": {
- "x": 4268,
+ "x": 5414,
"y": 449
},
"width": 54,
@@ -4191,7 +5279,7 @@
"id": "cf one.start.8",
"type": "rectangle",
"pos": {
- "x": 4342,
+ "x": 5488,
"y": 112
},
"width": 53,
@@ -4233,7 +5321,7 @@
"id": "cf one.end.8",
"type": "rectangle",
"pos": {
- "x": 4342,
+ "x": 5488,
"y": 449
},
"width": 53,
@@ -4275,7 +5363,7 @@
"id": "cf one.start.15",
"type": "rectangle",
"pos": {
- "x": 4415,
+ "x": 5561,
"y": 112
},
"width": 61,
@@ -4317,7 +5405,7 @@
"id": "cf one.end.15",
"type": "rectangle",
"pos": {
- "x": 4415,
+ "x": 5561,
"y": 449
},
"width": 61,
@@ -4359,7 +5447,7 @@
"id": "cf one required",
"type": "rectangle",
"pos": {
- "x": 4596,
+ "x": 5742,
"y": 12
},
"width": 553,
@@ -4401,7 +5489,7 @@
"id": "cf one required.start",
"type": "rectangle",
"pos": {
- "x": 4646,
+ "x": 5792,
"y": 62
},
"width": 453,
@@ -4442,7 +5530,7 @@
"id": "cf one required.end",
"type": "rectangle",
"pos": {
- "x": 4646,
+ "x": 5792,
"y": 399
},
"width": 453,
@@ -4483,7 +5571,7 @@
"id": "cf one required.start.1",
"type": "rectangle",
"pos": {
- "x": 4696,
+ "x": 5842,
"y": 112
},
"width": 52,
@@ -4525,7 +5613,7 @@
"id": "cf one required.end.1",
"type": "rectangle",
"pos": {
- "x": 4696,
+ "x": 5842,
"y": 449
},
"width": 52,
@@ -4567,7 +5655,7 @@
"id": "cf one required.start.2",
"type": "rectangle",
"pos": {
- "x": 4768,
+ "x": 5914,
"y": 112
},
"width": 53,
@@ -4609,7 +5697,7 @@
"id": "cf one required.end.2",
"type": "rectangle",
"pos": {
- "x": 4768,
+ "x": 5914,
"y": 449
},
"width": 53,
@@ -4651,7 +5739,7 @@
"id": "cf one required.start.4",
"type": "rectangle",
"pos": {
- "x": 4841,
+ "x": 5987,
"y": 112
},
"width": 54,
@@ -4693,7 +5781,7 @@
"id": "cf one required.end.4",
"type": "rectangle",
"pos": {
- "x": 4841,
+ "x": 5987,
"y": 449
},
"width": 54,
@@ -4735,7 +5823,7 @@
"id": "cf one required.start.8",
"type": "rectangle",
"pos": {
- "x": 4915,
+ "x": 6061,
"y": 112
},
"width": 53,
@@ -4777,7 +5865,7 @@
"id": "cf one required.end.8",
"type": "rectangle",
"pos": {
- "x": 4915,
+ "x": 6061,
"y": 449
},
"width": 53,
@@ -4819,7 +5907,7 @@
"id": "cf one required.start.15",
"type": "rectangle",
"pos": {
- "x": 4988,
+ "x": 6134,
"y": 112
},
"width": 61,
@@ -4861,7 +5949,7 @@
"id": "cf one required.end.15",
"type": "rectangle",
"pos": {
- "x": 4988,
+ "x": 6134,
"y": 449
},
"width": 61,
@@ -4903,7 +5991,7 @@
"id": "cf many",
"type": "rectangle",
"pos": {
- "x": 5169,
+ "x": 6315,
"y": 12
},
"width": 553,
@@ -4945,7 +6033,7 @@
"id": "cf many.start",
"type": "rectangle",
"pos": {
- "x": 5219,
+ "x": 6365,
"y": 62
},
"width": 453,
@@ -4986,7 +6074,7 @@
"id": "cf many.end",
"type": "rectangle",
"pos": {
- "x": 5219,
+ "x": 6365,
"y": 399
},
"width": 453,
@@ -5027,7 +6115,7 @@
"id": "cf many.start.1",
"type": "rectangle",
"pos": {
- "x": 5269,
+ "x": 6415,
"y": 112
},
"width": 52,
@@ -5069,7 +6157,7 @@
"id": "cf many.end.1",
"type": "rectangle",
"pos": {
- "x": 5269,
+ "x": 6415,
"y": 449
},
"width": 52,
@@ -5111,7 +6199,7 @@
"id": "cf many.start.2",
"type": "rectangle",
"pos": {
- "x": 5341,
+ "x": 6487,
"y": 112
},
"width": 53,
@@ -5153,7 +6241,7 @@
"id": "cf many.end.2",
"type": "rectangle",
"pos": {
- "x": 5341,
+ "x": 6487,
"y": 449
},
"width": 53,
@@ -5195,7 +6283,7 @@
"id": "cf many.start.4",
"type": "rectangle",
"pos": {
- "x": 5414,
+ "x": 6560,
"y": 112
},
"width": 54,
@@ -5237,7 +6325,7 @@
"id": "cf many.end.4",
"type": "rectangle",
"pos": {
- "x": 5414,
+ "x": 6560,
"y": 449
},
"width": 54,
@@ -5279,7 +6367,7 @@
"id": "cf many.start.8",
"type": "rectangle",
"pos": {
- "x": 5488,
+ "x": 6634,
"y": 112
},
"width": 53,
@@ -5321,7 +6409,7 @@
"id": "cf many.end.8",
"type": "rectangle",
"pos": {
- "x": 5488,
+ "x": 6634,
"y": 449
},
"width": 53,
@@ -5363,7 +6451,7 @@
"id": "cf many.start.15",
"type": "rectangle",
"pos": {
- "x": 5561,
+ "x": 6707,
"y": 112
},
"width": 61,
@@ -5405,7 +6493,7 @@
"id": "cf many.end.15",
"type": "rectangle",
"pos": {
- "x": 5561,
+ "x": 6707,
"y": 449
},
"width": 61,
@@ -5447,7 +6535,7 @@
"id": "cf many required",
"type": "rectangle",
"pos": {
- "x": 5742,
+ "x": 6888,
"y": 12
},
"width": 553,
@@ -5489,7 +6577,7 @@
"id": "cf many required.start",
"type": "rectangle",
"pos": {
- "x": 5792,
+ "x": 6938,
"y": 62
},
"width": 453,
@@ -5530,7 +6618,7 @@
"id": "cf many required.end",
"type": "rectangle",
"pos": {
- "x": 5792,
+ "x": 6938,
"y": 399
},
"width": 453,
@@ -5571,7 +6659,7 @@
"id": "cf many required.start.1",
"type": "rectangle",
"pos": {
- "x": 5842,
+ "x": 6988,
"y": 112
},
"width": 52,
@@ -5613,7 +6701,7 @@
"id": "cf many required.end.1",
"type": "rectangle",
"pos": {
- "x": 5842,
+ "x": 6988,
"y": 449
},
"width": 52,
@@ -5655,7 +6743,7 @@
"id": "cf many required.start.2",
"type": "rectangle",
"pos": {
- "x": 5914,
+ "x": 7060,
"y": 112
},
"width": 53,
@@ -5697,7 +6785,7 @@
"id": "cf many required.end.2",
"type": "rectangle",
"pos": {
- "x": 5914,
+ "x": 7060,
"y": 449
},
"width": 53,
@@ -5739,7 +6827,7 @@
"id": "cf many required.start.4",
"type": "rectangle",
"pos": {
- "x": 5987,
+ "x": 7133,
"y": 112
},
"width": 54,
@@ -5781,7 +6869,7 @@
"id": "cf many required.end.4",
"type": "rectangle",
"pos": {
- "x": 5987,
+ "x": 7133,
"y": 449
},
"width": 54,
@@ -5823,7 +6911,7 @@
"id": "cf many required.start.8",
"type": "rectangle",
"pos": {
- "x": 6061,
+ "x": 7207,
"y": 112
},
"width": 53,
@@ -5865,7 +6953,7 @@
"id": "cf many required.end.8",
"type": "rectangle",
"pos": {
- "x": 6061,
+ "x": 7207,
"y": 449
},
"width": 53,
@@ -5907,7 +6995,7 @@
"id": "cf many required.start.15",
"type": "rectangle",
"pos": {
- "x": 6134,
+ "x": 7280,
"y": 112
},
"width": 61,
@@ -5949,7 +7037,7 @@
"id": "cf many required.end.15",
"type": "rectangle",
"pos": {
- "x": 6134,
+ "x": 7280,
"y": 449
},
"width": 61,
@@ -7355,11 +8443,11 @@
"zIndex": 0
},
{
- "id": "cf one.(start.1 <-> end.1)[0]",
- "src": "cf one.start.1",
- "srcArrow": "cf-one",
- "dst": "cf one.end.1",
- "dstArrow": "cf-one",
+ "id": "box.(start.1 <-> end.1)[0]",
+ "src": "box.start.1",
+ "srcArrow": "box",
+ "dst": "box.end.1",
+ "dstArrow": "box",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 1,
@@ -7393,6 +8481,396 @@
"icon": null,
"zIndex": 0
},
+ {
+ "id": "box.(start.2 <-> end.2)[0]",
+ "src": "box.start.2",
+ "srcArrow": "box",
+ "dst": "box.end.2",
+ "dstArrow": "box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 4221.5,
+ "y": 178
+ },
+ {
+ "x": 4221.5,
+ "y": 449
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "box.(start.4 <-> end.4)[0]",
+ "src": "box.start.4",
+ "srcArrow": "box",
+ "dst": "box.end.4",
+ "dstArrow": "box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 4,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 4295,
+ "y": 178
+ },
+ {
+ "x": 4295,
+ "y": 449
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "box.(start.8 <-> end.8)[0]",
+ "src": "box.start.8",
+ "srcArrow": "box",
+ "dst": "box.end.8",
+ "dstArrow": "box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 8,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 4368.5,
+ "y": 178
+ },
+ {
+ "x": 4368.5,
+ "y": 449
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "box.(start.15 <-> end.15)[0]",
+ "src": "box.start.15",
+ "srcArrow": "box",
+ "dst": "box.end.15",
+ "dstArrow": "box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 15,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 4445.5,
+ "y": 178
+ },
+ {
+ "x": 4445.5,
+ "y": 449
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "filled-box.(start.1 <-> end.1)[0]",
+ "src": "filled-box.start.1",
+ "srcArrow": "filled-box",
+ "dst": "filled-box.end.1",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 1,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 4722,
+ "y": 178
+ },
+ {
+ "x": 4722,
+ "y": 449
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "filled-box.(start.2 <-> end.2)[0]",
+ "src": "filled-box.start.2",
+ "srcArrow": "filled-box",
+ "dst": "filled-box.end.2",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "2",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 4794.5,
+ "y": 178
+ },
+ {
+ "x": 4794.5,
+ "y": 449
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "filled-box.(start.4 <-> end.4)[0]",
+ "src": "filled-box.start.4",
+ "srcArrow": "filled-box",
+ "dst": "filled-box.end.4",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 4,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "4",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 4868,
+ "y": 178
+ },
+ {
+ "x": 4868,
+ "y": 449
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "filled-box.(start.8 <-> end.8)[0]",
+ "src": "filled-box.start.8",
+ "srcArrow": "filled-box",
+ "dst": "filled-box.end.8",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 8,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "8",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 4941.5,
+ "y": 178
+ },
+ {
+ "x": 4941.5,
+ "y": 449
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "filled-box.(start.15 <-> end.15)[0]",
+ "src": "filled-box.start.15",
+ "srcArrow": "filled-box",
+ "dst": "filled-box.end.15",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 15,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "15",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 16,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 5018.5,
+ "y": 178
+ },
+ {
+ "x": 5018.5,
+ "y": 449
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "cf one.(start.1 <-> end.1)[0]",
+ "src": "cf one.start.1",
+ "srcArrow": "cf-one",
+ "dst": "cf one.end.1",
+ "dstArrow": "cf-one",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 1,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "1",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 7,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 5295,
+ "y": 178
+ },
+ {
+ "x": 5295,
+ "y": 449
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
{
"id": "cf one.(start.2 <-> end.2)[0]",
"src": "cf one.start.2",
@@ -7419,11 +8897,11 @@
"link": "",
"route": [
{
- "x": 4221.5,
+ "x": 5367.5,
"y": 178
},
{
- "x": 4221.5,
+ "x": 5367.5,
"y": 449
}
],
@@ -7458,11 +8936,11 @@
"link": "",
"route": [
{
- "x": 4295,
+ "x": 5441,
"y": 178
},
{
- "x": 4295,
+ "x": 5441,
"y": 449
}
],
@@ -7497,11 +8975,11 @@
"link": "",
"route": [
{
- "x": 4368.5,
+ "x": 5514.5,
"y": 178
},
{
- "x": 4368.5,
+ "x": 5514.5,
"y": 449
}
],
@@ -7536,11 +9014,11 @@
"link": "",
"route": [
{
- "x": 4445.5,
+ "x": 5591.5,
"y": 178
},
{
- "x": 4445.5,
+ "x": 5591.5,
"y": 449
}
],
@@ -7575,11 +9053,11 @@
"link": "",
"route": [
{
- "x": 4722,
+ "x": 5868,
"y": 178
},
{
- "x": 4722,
+ "x": 5868,
"y": 449
}
],
@@ -7614,11 +9092,11 @@
"link": "",
"route": [
{
- "x": 4794.5,
+ "x": 5940.5,
"y": 178
},
{
- "x": 4794.5,
+ "x": 5940.5,
"y": 449
}
],
@@ -7653,11 +9131,11 @@
"link": "",
"route": [
{
- "x": 4868,
+ "x": 6014,
"y": 178
},
{
- "x": 4868,
+ "x": 6014,
"y": 449
}
],
@@ -7692,11 +9170,11 @@
"link": "",
"route": [
{
- "x": 4941.5,
+ "x": 6087.5,
"y": 178
},
{
- "x": 4941.5,
+ "x": 6087.5,
"y": 449
}
],
@@ -7731,11 +9209,11 @@
"link": "",
"route": [
{
- "x": 5018.5,
+ "x": 6164.5,
"y": 178
},
{
- "x": 5018.5,
+ "x": 6164.5,
"y": 449
}
],
@@ -7770,11 +9248,11 @@
"link": "",
"route": [
{
- "x": 5295,
+ "x": 6441,
"y": 178
},
{
- "x": 5295,
+ "x": 6441,
"y": 449
}
],
@@ -7809,11 +9287,11 @@
"link": "",
"route": [
{
- "x": 5367.5,
+ "x": 6513.5,
"y": 178
},
{
- "x": 5367.5,
+ "x": 6513.5,
"y": 449
}
],
@@ -7848,11 +9326,11 @@
"link": "",
"route": [
{
- "x": 5441,
+ "x": 6587,
"y": 178
},
{
- "x": 5441,
+ "x": 6587,
"y": 449
}
],
@@ -7887,11 +9365,11 @@
"link": "",
"route": [
{
- "x": 5514.5,
+ "x": 6660.5,
"y": 178
},
{
- "x": 5514.5,
+ "x": 6660.5,
"y": 449
}
],
@@ -7926,11 +9404,11 @@
"link": "",
"route": [
{
- "x": 5591.5,
+ "x": 6737.5,
"y": 178
},
{
- "x": 5591.5,
+ "x": 6737.5,
"y": 449
}
],
@@ -7965,11 +9443,11 @@
"link": "",
"route": [
{
- "x": 5868,
+ "x": 7014,
"y": 178
},
{
- "x": 5868,
+ "x": 7014,
"y": 449
}
],
@@ -8004,11 +9482,11 @@
"link": "",
"route": [
{
- "x": 5940.5,
+ "x": 7086.5,
"y": 178
},
{
- "x": 5940.5,
+ "x": 7086.5,
"y": 449
}
],
@@ -8043,11 +9521,11 @@
"link": "",
"route": [
{
- "x": 6014,
+ "x": 7160,
"y": 178
},
{
- "x": 6014,
+ "x": 7160,
"y": 449
}
],
@@ -8082,11 +9560,11 @@
"link": "",
"route": [
{
- "x": 6087.5,
+ "x": 7233.5,
"y": 178
},
{
- "x": 6087.5,
+ "x": 7233.5,
"y": 449
}
],
@@ -8121,11 +9599,11 @@
"link": "",
"route": [
{
- "x": 6164.5,
+ "x": 7310.5,
"y": 178
},
{
- "x": 6164.5,
+ "x": 7310.5,
"y": 449
}
],
diff --git a/e2etests/testdata/stable/arrowhead_scaling/elk/sketch.exp.svg b/e2etests/testdata/stable/arrowhead_scaling/elk/sketch.exp.svg
index 3c336dbed..05e1abfbc 100644
--- a/e2etests/testdata/stable/arrowhead_scaling/elk/sketch.exp.svg
+++ b/e2etests/testdata/stable/arrowhead_scaling/elk/sketch.exp.svg
@@ -1,24 +1,24 @@
-defaultlinearrowdiamondfilled diamondcirclefilled circlecf onecf one requiredcf manycf many required112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515 1 2 4 8 15124815 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15
-
+ .d2-2610889711 .fill-N1{fill:#0A0F25;}
+ .d2-2610889711 .fill-N2{fill:#676C7E;}
+ .d2-2610889711 .fill-N3{fill:#9499AB;}
+ .d2-2610889711 .fill-N4{fill:#CFD2DD;}
+ .d2-2610889711 .fill-N5{fill:#DEE1EB;}
+ .d2-2610889711 .fill-N6{fill:#EEF1F8;}
+ .d2-2610889711 .fill-N7{fill:#FFFFFF;}
+ .d2-2610889711 .fill-B1{fill:#0D32B2;}
+ .d2-2610889711 .fill-B2{fill:#0D32B2;}
+ .d2-2610889711 .fill-B3{fill:#E3E9FD;}
+ .d2-2610889711 .fill-B4{fill:#E3E9FD;}
+ .d2-2610889711 .fill-B5{fill:#EDF0FD;}
+ .d2-2610889711 .fill-B6{fill:#F7F8FE;}
+ .d2-2610889711 .fill-AA2{fill:#4A6FF3;}
+ .d2-2610889711 .fill-AA4{fill:#EDF0FD;}
+ .d2-2610889711 .fill-AA5{fill:#F7F8FE;}
+ .d2-2610889711 .fill-AB4{fill:#EDF0FD;}
+ .d2-2610889711 .fill-AB5{fill:#F7F8FE;}
+ .d2-2610889711 .stroke-N1{stroke:#0A0F25;}
+ .d2-2610889711 .stroke-N2{stroke:#676C7E;}
+ .d2-2610889711 .stroke-N3{stroke:#9499AB;}
+ .d2-2610889711 .stroke-N4{stroke:#CFD2DD;}
+ .d2-2610889711 .stroke-N5{stroke:#DEE1EB;}
+ .d2-2610889711 .stroke-N6{stroke:#EEF1F8;}
+ .d2-2610889711 .stroke-N7{stroke:#FFFFFF;}
+ .d2-2610889711 .stroke-B1{stroke:#0D32B2;}
+ .d2-2610889711 .stroke-B2{stroke:#0D32B2;}
+ .d2-2610889711 .stroke-B3{stroke:#E3E9FD;}
+ .d2-2610889711 .stroke-B4{stroke:#E3E9FD;}
+ .d2-2610889711 .stroke-B5{stroke:#EDF0FD;}
+ .d2-2610889711 .stroke-B6{stroke:#F7F8FE;}
+ .d2-2610889711 .stroke-AA2{stroke:#4A6FF3;}
+ .d2-2610889711 .stroke-AA4{stroke:#EDF0FD;}
+ .d2-2610889711 .stroke-AA5{stroke:#F7F8FE;}
+ .d2-2610889711 .stroke-AB4{stroke:#EDF0FD;}
+ .d2-2610889711 .stroke-AB5{stroke:#F7F8FE;}
+ .d2-2610889711 .background-color-N1{background-color:#0A0F25;}
+ .d2-2610889711 .background-color-N2{background-color:#676C7E;}
+ .d2-2610889711 .background-color-N3{background-color:#9499AB;}
+ .d2-2610889711 .background-color-N4{background-color:#CFD2DD;}
+ .d2-2610889711 .background-color-N5{background-color:#DEE1EB;}
+ .d2-2610889711 .background-color-N6{background-color:#EEF1F8;}
+ .d2-2610889711 .background-color-N7{background-color:#FFFFFF;}
+ .d2-2610889711 .background-color-B1{background-color:#0D32B2;}
+ .d2-2610889711 .background-color-B2{background-color:#0D32B2;}
+ .d2-2610889711 .background-color-B3{background-color:#E3E9FD;}
+ .d2-2610889711 .background-color-B4{background-color:#E3E9FD;}
+ .d2-2610889711 .background-color-B5{background-color:#EDF0FD;}
+ .d2-2610889711 .background-color-B6{background-color:#F7F8FE;}
+ .d2-2610889711 .background-color-AA2{background-color:#4A6FF3;}
+ .d2-2610889711 .background-color-AA4{background-color:#EDF0FD;}
+ .d2-2610889711 .background-color-AA5{background-color:#F7F8FE;}
+ .d2-2610889711 .background-color-AB4{background-color:#EDF0FD;}
+ .d2-2610889711 .background-color-AB5{background-color:#F7F8FE;}
+ .d2-2610889711 .color-N1{color:#0A0F25;}
+ .d2-2610889711 .color-N2{color:#676C7E;}
+ .d2-2610889711 .color-N3{color:#9499AB;}
+ .d2-2610889711 .color-N4{color:#CFD2DD;}
+ .d2-2610889711 .color-N5{color:#DEE1EB;}
+ .d2-2610889711 .color-N6{color:#EEF1F8;}
+ .d2-2610889711 .color-N7{color:#FFFFFF;}
+ .d2-2610889711 .color-B1{color:#0D32B2;}
+ .d2-2610889711 .color-B2{color:#0D32B2;}
+ .d2-2610889711 .color-B3{color:#E3E9FD;}
+ .d2-2610889711 .color-B4{color:#E3E9FD;}
+ .d2-2610889711 .color-B5{color:#EDF0FD;}
+ .d2-2610889711 .color-B6{color:#F7F8FE;}
+ .d2-2610889711 .color-AA2{color:#4A6FF3;}
+ .d2-2610889711 .color-AA4{color:#EDF0FD;}
+ .d2-2610889711 .color-AA5{color:#F7F8FE;}
+ .d2-2610889711 .color-AB4{color:#EDF0FD;}
+ .d2-2610889711 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]>defaultlinearrowdiamondfilled diamondcirclefilled circleboxfilled-boxcf onecf one requiredcf manycf many required112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515112244881515 1 2 4 8 15124815 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15 1 2 4 8 15
+
@@ -112,10 +112,12 @@
-
-
-
-
+
+
+
+
+
+
@@ -226,6 +228,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -281,4 +303,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/stable/box_arrowhead/dagre/board.exp.json b/e2etests/testdata/stable/box_arrowhead/dagre/board.exp.json
new file mode 100644
index 000000000..0eb90ed84
--- /dev/null
+++ b/e2etests/testdata/stable/box_arrowhead/dagre/board.exp.json
@@ -0,0 +1,314 @@
+{
+ "name": "",
+ "isFolderOnly": false,
+ "fontFamily": "SourceSansPro",
+ "shapes": [
+ {
+ "id": "a",
+ "type": "rectangle",
+ "pos": {
+ "x": 0,
+ "y": 0
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "a",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "b",
+ "type": "rectangle",
+ "pos": {
+ "x": 0,
+ "y": 187
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "b",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "c",
+ "type": "rectangle",
+ "pos": {
+ "x": 114,
+ "y": 0
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "c",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "d",
+ "type": "rectangle",
+ "pos": {
+ "x": 113,
+ "y": 187
+ },
+ "width": 54,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "d",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ }
+ ],
+ "connections": [
+ {
+ "id": "(a <-> b)[0]",
+ "src": "a",
+ "srcArrow": "box",
+ "dst": "b",
+ "dstArrow": "box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "box",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 25,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 26.5,
+ "y": 65.5
+ },
+ {
+ "x": 26.5,
+ "y": 114.30000305175781
+ },
+ {
+ "x": 26.5,
+ "y": 138.6999969482422
+ },
+ {
+ "x": 26.5,
+ "y": 187.5
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(c <-> d)[0]",
+ "src": "c",
+ "srcArrow": "filled-box",
+ "dst": "d",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "filled-box",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 63,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 140,
+ "y": 65.5
+ },
+ {
+ "x": 140,
+ "y": 114.30000305175781
+ },
+ {
+ "x": 140,
+ "y": 138.6999969482422
+ },
+ {
+ "x": 140,
+ "y": 187.5
+ }
+ ],
+ "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": "",
+ "animated": false,
+ "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/stable/box_arrowhead/dagre/sketch.exp.svg b/e2etests/testdata/stable/box_arrowhead/dagre/sketch.exp.svg
new file mode 100644
index 000000000..7f4911f97
--- /dev/null
+++ b/e2etests/testdata/stable/box_arrowhead/dagre/sketch.exp.svg
@@ -0,0 +1,107 @@
+abcd box filled-box
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/stable/box_arrowhead/elk/board.exp.json b/e2etests/testdata/stable/box_arrowhead/elk/board.exp.json
new file mode 100644
index 000000000..40e23b4e6
--- /dev/null
+++ b/e2etests/testdata/stable/box_arrowhead/elk/board.exp.json
@@ -0,0 +1,296 @@
+{
+ "name": "",
+ "isFolderOnly": false,
+ "fontFamily": "SourceSansPro",
+ "shapes": [
+ {
+ "id": "a",
+ "type": "rectangle",
+ "pos": {
+ "x": 12,
+ "y": 12
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "a",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "b",
+ "type": "rectangle",
+ "pos": {
+ "x": 12,
+ "y": 239
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "b",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "c",
+ "type": "rectangle",
+ "pos": {
+ "x": 85,
+ "y": 12
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "c",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "d",
+ "type": "rectangle",
+ "pos": {
+ "x": 85,
+ "y": 239
+ },
+ "width": 54,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "B6",
+ "stroke": "B1",
+ "animated": false,
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "d",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N1",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ }
+ ],
+ "connections": [
+ {
+ "id": "(a <-> b)[0]",
+ "src": "a",
+ "srcArrow": "box",
+ "dst": "b",
+ "dstArrow": "box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "box",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 25,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 38.5,
+ "y": 78
+ },
+ {
+ "x": 38.5,
+ "y": 239
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(c <-> d)[0]",
+ "src": "c",
+ "srcArrow": "filled-box",
+ "dst": "d",
+ "dstArrow": "filled-box",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "B1",
+ "borderRadius": 10,
+ "label": "filled-box",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "N2",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 63,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "labelPercentage": 0,
+ "link": "",
+ "route": [
+ {
+ "x": 112,
+ "y": 78
+ },
+ {
+ "x": 112,
+ "y": 239
+ }
+ ],
+ "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": "",
+ "animated": false,
+ "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/stable/box_arrowhead/elk/sketch.exp.svg b/e2etests/testdata/stable/box_arrowhead/elk/sketch.exp.svg
new file mode 100644
index 000000000..697a4504c
--- /dev/null
+++ b/e2etests/testdata/stable/box_arrowhead/elk/sketch.exp.svg
@@ -0,0 +1,107 @@
+abcd box filled-box
+
+
+
+
+
+
+
+
\ No newline at end of file