extend set of runes used

This commit is contained in:
Alexander Wang 2024-09-16 10:21:08 -06:00
parent d5734fb6db
commit 0d13bb950a
No known key found for this signature in database
GPG key ID: BE3937D0D52D8927
15 changed files with 5612 additions and 275 deletions

View file

@ -4,6 +4,7 @@
- Composition: Imported boards can use underscores to reference boards beyond its own
scope (e.g. to a sibling board at the scope its imported to) [#2075](https://github.com/terrastruct/d2/pull/2075)
- Autoformat: Reserved keywords are formatted to be lowercase [#2098](https://github.com/terrastruct/d2/pull/2098)
- Misc: characters in the unicode range for Latin-1 and geometric shapes are measured more accurately [#2100](https://github.com/terrastruct/d2/pull/2100)
#### Improvements 🧹

View file

@ -0,0 +1,433 @@
{
"name": "",
"isFolderOnly": false,
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "1",
"type": "text",
"pos": {
"x": 32,
"y": 0
},
"width": 102,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "ÇéþüðæØÅßñò",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 102,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "2",
"type": "text",
"pos": {
"x": 3,
"y": 124
},
"width": 79,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "òØõùßÍÿåÆ",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 79,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "3",
"type": "text",
"pos": {
"x": 0,
"y": 248
},
"width": 84,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "çÆÐÞ©ßþúí",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 84,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "4",
"type": "text",
"pos": {
"x": 57,
"y": 372
},
"width": 52,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "ÉáøÿÑö",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 52,
"labelHeight": 24,
"zIndex": 0,
"level": 1
}
],
"connections": [
{
"id": "(1 -> 2)[0]",
"src": "1",
"srcArrow": "none",
"dst": "2",
"dstArrow": "triangle",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 75,
"y": 24
},
{
"x": 48.5989990234375,
"y": 64
},
{
"x": 42,
"y": 84
},
{
"x": 42,
"y": 124
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(2 -> 3)[0]",
"src": "2",
"srcArrow": "none",
"dst": "3",
"dstArrow": "triangle",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 42,
"y": 148
},
{
"x": 42,
"y": 188
},
{
"x": 42,
"y": 208
},
{
"x": 42,
"y": 248
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(3 -> 4)[0]",
"src": "3",
"srcArrow": "none",
"dst": "4",
"dstArrow": "triangle",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 42,
"y": 272
},
{
"x": 42,
"y": 312
},
{
"x": 48.599998474121094,
"y": 332
},
{
"x": 75,
"y": 372
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(4 -> 1)[0]",
"src": "4",
"srcArrow": "none",
"dst": "1",
"dstArrow": "triangle",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 91,
"y": 372
},
{
"x": 117.4000015258789,
"y": 332
},
{
"x": 124,
"y": 309.6000061035156
},
{
"x": 124,
"y": 291
},
{
"x": 124,
"y": 272.3999938964844
},
{
"x": 124,
"y": 247.60000610351562
},
{
"x": 124,
"y": 229
},
{
"x": 124,
"y": 210.39999389648438
},
{
"x": 124,
"y": 185.60000610351562
},
{
"x": 124,
"y": 167
},
{
"x": 124,
"y": 148.39999389648438
},
{
"x": 117.4000015258789,
"y": 64
},
{
"x": 91,
"y": 24
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
}
],
"root": {
"id": "",
"type": "",
"pos": {
"x": 0,
"y": 0
},
"width": 0,
"height": 0,
"opacity": 0,
"strokeDash": 0,
"strokeWidth": 0,
"borderRadius": 0,
"fill": "N7",
"stroke": "",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "",
"fontSize": 0,
"fontFamily": "",
"language": "",
"color": "",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"zIndex": 0,
"level": 0
}
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

View file

@ -0,0 +1,385 @@
{
"name": "",
"isFolderOnly": false,
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "1",
"type": "text",
"pos": {
"x": 44,
"y": 12
},
"width": 102,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "ÇéþüðæØÅßñò",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 102,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "2",
"type": "text",
"pos": {
"x": 14,
"y": 116
},
"width": 79,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "òØõùßÍÿåÆ",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 79,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "3",
"type": "text",
"pos": {
"x": 12,
"y": 210
},
"width": 84,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "çÆÐÞ©ßþúí",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 84,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "4",
"type": "text",
"pos": {
"x": 69,
"y": 314
},
"width": 52,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "ÉáøÿÑö",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 52,
"labelHeight": 24,
"zIndex": 0,
"level": 1
}
],
"connections": [
{
"id": "(1 -> 2)[0]",
"src": "1",
"srcArrow": "none",
"dst": "2",
"dstArrow": "triangle",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 78,
"y": 36
},
{
"x": 78,
"y": 116
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(2 -> 3)[0]",
"src": "2",
"srcArrow": "none",
"dst": "3",
"dstArrow": "triangle",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 54,
"y": 140
},
{
"x": 54,
"y": 210
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(3 -> 4)[0]",
"src": "3",
"srcArrow": "none",
"dst": "4",
"dstArrow": "triangle",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 54,
"y": 234
},
{
"x": 54,
"y": 274
},
{
"x": 86.33300018310547,
"y": 274
},
{
"x": 86.33300018310547,
"y": 314
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(4 -> 1)[0]",
"src": "4",
"srcArrow": "none",
"dst": "1",
"dstArrow": "triangle",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 103.66600036621094,
"y": 314
},
{
"x": 103.66600036621094,
"y": 274
},
{
"x": 136,
"y": 274
},
{
"x": 136,
"y": 76
},
{
"x": 112,
"y": 76
},
{
"x": 112,
"y": 36
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
}
],
"root": {
"id": "",
"type": "",
"pos": {
"x": 0,
"y": 0
},
"width": 0,
"height": 0,
"opacity": 0,
"strokeDash": 0,
"strokeWidth": 0,
"borderRadius": 0,
"fill": "N7",
"stroke": "",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "",
"fontSize": 0,
"fontFamily": "",
"language": "",
"color": "",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"zIndex": 0,
"level": 0
}
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

528
e2etests/testdata/txtar/unicode/dagre/board.exp.json generated vendored Normal file
View file

@ -0,0 +1,528 @@
{
"name": "",
"isFolderOnly": false,
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "■",
"type": "text",
"pos": {
"x": 0,
"y": 0
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "■ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "□",
"type": "text",
"pos": {
"x": 126,
"y": 0
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "□ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "●",
"type": "text",
"pos": {
"x": 248,
"y": 0
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "● foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "○",
"type": "text",
"pos": {
"x": 370,
"y": 0
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "○ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "◆",
"type": "text",
"pos": {
"x": 492,
"y": 0
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "◆ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "◇",
"type": "text",
"pos": {
"x": 618,
"y": 0
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "◇ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "▲",
"type": "text",
"pos": {
"x": 740,
"y": 0
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "▲ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "△",
"type": "text",
"pos": {
"x": 866,
"y": 0
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "△ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "▼",
"type": "text",
"pos": {
"x": 992,
"y": 0
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "▼ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "▽",
"type": "text",
"pos": {
"x": 1118,
"y": 0
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "▽ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "※",
"type": "text",
"pos": {
"x": 1244,
"y": 0
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "※ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "◎",
"type": "text",
"pos": {
"x": 1366,
"y": 0
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "◎ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
}
],
"connections": [],
"root": {
"id": "",
"type": "",
"pos": {
"x": 0,
"y": 0
},
"width": 0,
"height": 0,
"opacity": 0,
"strokeDash": 0,
"strokeWidth": 0,
"borderRadius": 0,
"fill": "N7",
"stroke": "",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "",
"fontSize": 0,
"fontFamily": "",
"language": "",
"color": "",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"zIndex": 0,
"level": 0
}
}

View file

@ -0,0 +1,858 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.6-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1430 26"><svg id="d2-svg" class="d2-533877167" width="1430" height="26" viewBox="-1 -1 1430 26"><rect x="-1.000000" y="-1.000000" width="1430.000000" height="26.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-533877167 .text {
font-family: "d2-533877167-font-regular";
}
@font-face {
font-family: d2-533877167-font-regular;
src: url("data:application/font-woff;base64,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");
}
@font-face {
font-family: d2-533877167-font-semibold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-533877167 .fill-N1{fill:#0A0F25;}
.d2-533877167 .fill-N2{fill:#676C7E;}
.d2-533877167 .fill-N3{fill:#9499AB;}
.d2-533877167 .fill-N4{fill:#CFD2DD;}
.d2-533877167 .fill-N5{fill:#DEE1EB;}
.d2-533877167 .fill-N6{fill:#EEF1F8;}
.d2-533877167 .fill-N7{fill:#FFFFFF;}
.d2-533877167 .fill-B1{fill:#0D32B2;}
.d2-533877167 .fill-B2{fill:#0D32B2;}
.d2-533877167 .fill-B3{fill:#E3E9FD;}
.d2-533877167 .fill-B4{fill:#E3E9FD;}
.d2-533877167 .fill-B5{fill:#EDF0FD;}
.d2-533877167 .fill-B6{fill:#F7F8FE;}
.d2-533877167 .fill-AA2{fill:#4A6FF3;}
.d2-533877167 .fill-AA4{fill:#EDF0FD;}
.d2-533877167 .fill-AA5{fill:#F7F8FE;}
.d2-533877167 .fill-AB4{fill:#EDF0FD;}
.d2-533877167 .fill-AB5{fill:#F7F8FE;}
.d2-533877167 .stroke-N1{stroke:#0A0F25;}
.d2-533877167 .stroke-N2{stroke:#676C7E;}
.d2-533877167 .stroke-N3{stroke:#9499AB;}
.d2-533877167 .stroke-N4{stroke:#CFD2DD;}
.d2-533877167 .stroke-N5{stroke:#DEE1EB;}
.d2-533877167 .stroke-N6{stroke:#EEF1F8;}
.d2-533877167 .stroke-N7{stroke:#FFFFFF;}
.d2-533877167 .stroke-B1{stroke:#0D32B2;}
.d2-533877167 .stroke-B2{stroke:#0D32B2;}
.d2-533877167 .stroke-B3{stroke:#E3E9FD;}
.d2-533877167 .stroke-B4{stroke:#E3E9FD;}
.d2-533877167 .stroke-B5{stroke:#EDF0FD;}
.d2-533877167 .stroke-B6{stroke:#F7F8FE;}
.d2-533877167 .stroke-AA2{stroke:#4A6FF3;}
.d2-533877167 .stroke-AA4{stroke:#EDF0FD;}
.d2-533877167 .stroke-AA5{stroke:#F7F8FE;}
.d2-533877167 .stroke-AB4{stroke:#EDF0FD;}
.d2-533877167 .stroke-AB5{stroke:#F7F8FE;}
.d2-533877167 .background-color-N1{background-color:#0A0F25;}
.d2-533877167 .background-color-N2{background-color:#676C7E;}
.d2-533877167 .background-color-N3{background-color:#9499AB;}
.d2-533877167 .background-color-N4{background-color:#CFD2DD;}
.d2-533877167 .background-color-N5{background-color:#DEE1EB;}
.d2-533877167 .background-color-N6{background-color:#EEF1F8;}
.d2-533877167 .background-color-N7{background-color:#FFFFFF;}
.d2-533877167 .background-color-B1{background-color:#0D32B2;}
.d2-533877167 .background-color-B2{background-color:#0D32B2;}
.d2-533877167 .background-color-B3{background-color:#E3E9FD;}
.d2-533877167 .background-color-B4{background-color:#E3E9FD;}
.d2-533877167 .background-color-B5{background-color:#EDF0FD;}
.d2-533877167 .background-color-B6{background-color:#F7F8FE;}
.d2-533877167 .background-color-AA2{background-color:#4A6FF3;}
.d2-533877167 .background-color-AA4{background-color:#EDF0FD;}
.d2-533877167 .background-color-AA5{background-color:#F7F8FE;}
.d2-533877167 .background-color-AB4{background-color:#EDF0FD;}
.d2-533877167 .background-color-AB5{background-color:#F7F8FE;}
.d2-533877167 .color-N1{color:#0A0F25;}
.d2-533877167 .color-N2{color:#676C7E;}
.d2-533877167 .color-N3{color:#9499AB;}
.d2-533877167 .color-N4{color:#CFD2DD;}
.d2-533877167 .color-N5{color:#DEE1EB;}
.d2-533877167 .color-N6{color:#EEF1F8;}
.d2-533877167 .color-N7{color:#FFFFFF;}
.d2-533877167 .color-B1{color:#0D32B2;}
.d2-533877167 .color-B2{color:#0D32B2;}
.d2-533877167 .color-B3{color:#E3E9FD;}
.d2-533877167 .color-B4{color:#E3E9FD;}
.d2-533877167 .color-B5{color:#EDF0FD;}
.d2-533877167 .color-B6{color:#F7F8FE;}
.d2-533877167 .color-AA2{color:#4A6FF3;}
.d2-533877167 .color-AA4{color:#EDF0FD;}
.d2-533877167 .color-AA5{color:#F7F8FE;}
.d2-533877167 .color-AB4{color:#EDF0FD;}
.d2-533877167 .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}]]></style><style type="text/css">.d2-533877167 .md em,
.d2-533877167 .md dfn {
font-family: "d2-533877167-font-italic";
}
.d2-533877167 .md b,
.d2-533877167 .md strong {
font-family: "d2-533877167-font-bold";
}
.d2-533877167 .md code,
.d2-533877167 .md kbd,
.d2-533877167 .md pre,
.d2-533877167 .md samp {
font-family: "d2-533877167-font-mono";
font-size: 1em;
}
.d2-533877167 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.d2-533877167 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
color: var(--color-fg-default);
background-color: transparent; /* we don't want to define the background color */
font-family: "d2-533877167-font-regular";
font-size: 16px;
line-height: 1.5;
word-wrap: break-word;
}
.d2-533877167 .md details,
.d2-533877167 .md figcaption,
.d2-533877167 .md figure {
display: block;
}
.d2-533877167 .md summary {
display: list-item;
}
.d2-533877167 .md [hidden] {
display: none !important;
}
.d2-533877167 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.d2-533877167 .md a:active,
.d2-533877167 .md a:hover {
outline-width: 0;
}
.d2-533877167 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.d2-533877167 .md dfn {
font-style: italic;
}
.d2-533877167 .md h1 {
margin: 0.67em 0;
padding-bottom: 0.3em;
font-size: 2em;
border-bottom: 1px solid var(--color-border-muted);
}
.d2-533877167 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.d2-533877167 .md small {
font-size: 90%;
}
.d2-533877167 .md sub,
.d2-533877167 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.d2-533877167 .md sub {
bottom: -0.25em;
}
.d2-533877167 .md sup {
top: -0.5em;
}
.d2-533877167 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.d2-533877167 .md figure {
margin: 1em 40px;
}
.d2-533877167 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
border-bottom: 1px solid var(--color-border-muted);
height: 0.25em;
padding: 0;
margin: 24px 0;
background-color: var(--color-border-default);
border: 0;
}
.d2-533877167 .md input {
font: inherit;
margin: 0;
overflow: visible;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
.d2-533877167 .md [type="button"],
.d2-533877167 .md [type="reset"],
.d2-533877167 .md [type="submit"] {
-webkit-appearance: button;
}
.d2-533877167 .md [type="button"]::-moz-focus-inner,
.d2-533877167 .md [type="reset"]::-moz-focus-inner,
.d2-533877167 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.d2-533877167 .md [type="button"]:-moz-focusring,
.d2-533877167 .md [type="reset"]:-moz-focusring,
.d2-533877167 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.d2-533877167 .md [type="checkbox"],
.d2-533877167 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.d2-533877167 .md [type="number"]::-webkit-inner-spin-button,
.d2-533877167 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.d2-533877167 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.d2-533877167 .md [type="search"]::-webkit-search-cancel-button,
.d2-533877167 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.d2-533877167 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.d2-533877167 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.d2-533877167 .md a:hover {
text-decoration: underline;
}
.d2-533877167 .md hr::before {
display: table;
content: "";
}
.d2-533877167 .md hr::after {
display: table;
clear: both;
content: "";
}
.d2-533877167 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
width: max-content;
max-width: 100%;
overflow: auto;
}
.d2-533877167 .md td,
.d2-533877167 .md th {
padding: 0;
}
.d2-533877167 .md details summary {
cursor: pointer;
}
.d2-533877167 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.d2-533877167 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
vertical-align: middle;
background-color: var(--color-canvas-subtle);
border: solid 1px var(--color-neutral-muted);
border-bottom-color: var(--color-neutral-muted);
border-radius: 6px;
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.d2-533877167 .md h1,
.d2-533877167 .md h2,
.d2-533877167 .md h3,
.d2-533877167 .md h4,
.d2-533877167 .md h5,
.d2-533877167 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 400;
line-height: 1.25;
font-family: "d2-533877167-font-semibold";
}
.d2-533877167 .md h2 {
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.d2-533877167 .md h3 {
font-size: 1.25em;
}
.d2-533877167 .md h4 {
font-size: 1em;
}
.d2-533877167 .md h5 {
font-size: 0.875em;
}
.d2-533877167 .md h6 {
font-size: 0.85em;
color: var(--color-fg-muted);
}
.d2-533877167 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.d2-533877167 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.d2-533877167 .md ul,
.d2-533877167 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.d2-533877167 .md ol ol,
.d2-533877167 .md ul ol {
list-style-type: lower-roman;
}
.d2-533877167 .md ul ul ol,
.d2-533877167 .md ul ol ol,
.d2-533877167 .md ol ul ol,
.d2-533877167 .md ol ol ol {
list-style-type: lower-alpha;
}
.d2-533877167 .md dd {
margin-left: 0;
}
.d2-533877167 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.d2-533877167 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.d2-533877167 .md input::-webkit-outer-spin-button,
.d2-533877167 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.d2-533877167 .md::before {
display: table;
content: "";
}
.d2-533877167 .md::after {
display: table;
clear: both;
content: "";
}
.d2-533877167 .md > *:first-child {
margin-top: 0 !important;
}
.d2-533877167 .md > *:last-child {
margin-bottom: 0 !important;
}
.d2-533877167 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.d2-533877167 .md .absent {
color: var(--color-danger-fg);
}
.d2-533877167 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.d2-533877167 .md .anchor:focus {
outline: none;
}
.d2-533877167 .md p,
.d2-533877167 .md blockquote,
.d2-533877167 .md ul,
.d2-533877167 .md ol,
.d2-533877167 .md dl,
.d2-533877167 .md table,
.d2-533877167 .md pre,
.d2-533877167 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.d2-533877167 .md blockquote > :first-child {
margin-top: 0;
}
.d2-533877167 .md blockquote > :last-child {
margin-bottom: 0;
}
.d2-533877167 .md sup > a::before {
content: "[";
}
.d2-533877167 .md sup > a::after {
content: "]";
}
.d2-533877167 .md h1:hover .anchor,
.d2-533877167 .md h2:hover .anchor,
.d2-533877167 .md h3:hover .anchor,
.d2-533877167 .md h4:hover .anchor,
.d2-533877167 .md h5:hover .anchor,
.d2-533877167 .md h6:hover .anchor {
text-decoration: none;
}
.d2-533877167 .md h1 tt,
.d2-533877167 .md h1 code,
.d2-533877167 .md h2 tt,
.d2-533877167 .md h2 code,
.d2-533877167 .md h3 tt,
.d2-533877167 .md h3 code,
.d2-533877167 .md h4 tt,
.d2-533877167 .md h4 code,
.d2-533877167 .md h5 tt,
.d2-533877167 .md h5 code,
.d2-533877167 .md h6 tt,
.d2-533877167 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.d2-533877167 .md ul.no-list,
.d2-533877167 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.d2-533877167 .md ol[type="1"] {
list-style-type: decimal;
}
.d2-533877167 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.d2-533877167 .md ol[type="i"] {
list-style-type: lower-roman;
}
.d2-533877167 .md div > ol:not([type]) {
list-style-type: decimal;
}
.d2-533877167 .md ul ul,
.d2-533877167 .md ul ol,
.d2-533877167 .md ol ol,
.d2-533877167 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.d2-533877167 .md li > p {
margin-top: 16px;
}
.d2-533877167 .md li + li {
margin-top: 0.25em;
}
.d2-533877167 .md dl {
padding: 0;
}
.d2-533877167 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-family: "d2-533877167-font-semibold";
}
.d2-533877167 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.d2-533877167 .md table th {
font-family: "d2-533877167-font-semibold";
}
.d2-533877167 .md table th,
.d2-533877167 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.d2-533877167 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.d2-533877167 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.d2-533877167 .md table img {
background-color: transparent;
}
.d2-533877167 .md img[align="right"] {
padding-left: 20px;
}
.d2-533877167 .md img[align="left"] {
padding-right: 20px;
}
.d2-533877167 .md span.frame {
display: block;
overflow: hidden;
}
.d2-533877167 .md span.frame > span {
display: block;
float: left;
width: auto;
padding: 7px;
margin: 13px 0 0;
overflow: hidden;
border: 1px solid var(--color-border-default);
}
.d2-533877167 .md span.frame span img {
display: block;
float: left;
}
.d2-533877167 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.d2-533877167 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.d2-533877167 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.d2-533877167 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.d2-533877167 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.d2-533877167 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.d2-533877167 .md span.align-right span img {
margin: 0;
text-align: right;
}
.d2-533877167 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.d2-533877167 .md span.float-left span {
margin: 13px 0 0;
}
.d2-533877167 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.d2-533877167 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.d2-533877167 .md code,
.d2-533877167 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
background-color: var(--color-neutral-muted);
border-radius: 6px;
}
.d2-533877167 .md code br,
.d2-533877167 .md tt br {
display: none;
}
.d2-533877167 .md del code {
text-decoration: inherit;
}
.d2-533877167 .md pre code {
font-size: 100%;
}
.d2-533877167 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.d2-533877167 .md .highlight {
margin-bottom: 16px;
}
.d2-533877167 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.d2-533877167 .md .highlight pre,
.d2-533877167 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: var(--color-canvas-subtle);
border-radius: 6px;
}
.d2-533877167 .md pre code,
.d2-533877167 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
margin: 0;
overflow: visible;
line-height: inherit;
word-wrap: normal;
background-color: transparent;
border: 0;
}
.d2-533877167 .md .csv-data td,
.d2-533877167 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
line-height: 1;
text-align: left;
white-space: nowrap;
}
.d2-533877167 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.d2-533877167 .md .csv-data tr {
border-top: 0;
}
.d2-533877167 .md .csv-data th {
font-family: "d2-533877167-font-semibold";
background: var(--color-canvas-subtle);
border-top: 0;
}
.d2-533877167 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.d2-533877167 .md .footnotes ol {
padding-left: 16px;
}
.d2-533877167 .md .footnotes li {
position: relative;
}
.d2-533877167 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
bottom: -8px;
left: -24px;
pointer-events: none;
content: "";
border: 2px solid var(--color-accent-emphasis);
border-radius: 6px;
}
.d2-533877167 .md .footnotes li:target {
color: var(--color-fg-default);
}
.d2-533877167 .md .task-list-item {
list-style-type: none;
}
.d2-533877167 .md .task-list-item label {
font-weight: 400;
}
.d2-533877167 .md .task-list-item.enabled label {
cursor: pointer;
}
.d2-533877167 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.d2-533877167 .md .task-list-item .handle {
display: none;
}
.d2-533877167 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.d2-533877167 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><g id="■"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="0.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>■ foo bar</p>
</div></foreignObject></g></g><g id="□"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="126.000000" y="0.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>□ foo bar</p>
</div></foreignObject></g></g><g id="●"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="248.000000" y="0.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>● foo bar</p>
</div></foreignObject></g></g><g id="○"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="370.000000" y="0.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>○ foo bar</p>
</div></foreignObject></g></g><g id="◆"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="492.000000" y="0.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>◆ foo bar</p>
</div></foreignObject></g></g><g id="◇"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="618.000000" y="0.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>◇ foo bar</p>
</div></foreignObject></g></g><g id="▲"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="740.000000" y="0.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>▲ foo bar</p>
</div></foreignObject></g></g><g id="△"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="866.000000" y="0.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>△ foo bar</p>
</div></foreignObject></g></g><g id="▼"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="992.000000" y="0.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>▼ foo bar</p>
</div></foreignObject></g></g><g id="▽"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1118.000000" y="0.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>▽ foo bar</p>
</div></foreignObject></g></g><g id="※"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1244.000000" y="0.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>※ foo bar</p>
</div></foreignObject></g></g><g id="◎"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1366.000000" y="0.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>◎ foo bar</p>
</div></foreignObject></g></g><mask id="d2-533877167" maskUnits="userSpaceOnUse" x="-1" y="-1" width="1430" height="26">
<rect x="-1" y="-1" width="1430" height="26" fill="white"></rect>
<rect x="0.000000" y="0.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="126.000000" y="0.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="248.000000" y="0.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="370.000000" y="0.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="492.000000" y="0.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="618.000000" y="0.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="740.000000" y="0.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="866.000000" y="0.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="992.000000" y="0.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="1118.000000" y="0.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="1244.000000" y="0.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="1366.000000" y="0.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
</mask></svg></svg>

After

Width:  |  Height:  |  Size: 29 KiB

528
e2etests/testdata/txtar/unicode/elk/board.exp.json generated vendored Normal file
View file

@ -0,0 +1,528 @@
{
"name": "",
"isFolderOnly": false,
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "■",
"type": "text",
"pos": {
"x": 12,
"y": 12
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "■ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "□",
"type": "text",
"pos": {
"x": 98,
"y": 12
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "□ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "●",
"type": "text",
"pos": {
"x": 180,
"y": 12
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "● foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "○",
"type": "text",
"pos": {
"x": 262,
"y": 12
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "○ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "◆",
"type": "text",
"pos": {
"x": 344,
"y": 12
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "◆ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "◇",
"type": "text",
"pos": {
"x": 430,
"y": 12
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "◇ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "▲",
"type": "text",
"pos": {
"x": 512,
"y": 12
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "▲ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "△",
"type": "text",
"pos": {
"x": 598,
"y": 12
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "△ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "▼",
"type": "text",
"pos": {
"x": 684,
"y": 12
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "▼ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "▽",
"type": "text",
"pos": {
"x": 770,
"y": 12
},
"width": 66,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "▽ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 66,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "※",
"type": "text",
"pos": {
"x": 856,
"y": 12
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "※ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
},
{
"id": "◎",
"type": "text",
"pos": {
"x": 938,
"y": 12
},
"width": 62,
"height": 24,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "transparent",
"stroke": "N1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "◎ foo bar",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "markdown",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 62,
"labelHeight": 24,
"zIndex": 0,
"level": 1
}
],
"connections": [],
"root": {
"id": "",
"type": "",
"pos": {
"x": 0,
"y": 0
},
"width": 0,
"height": 0,
"opacity": 0,
"strokeDash": 0,
"strokeWidth": 0,
"borderRadius": 0,
"fill": "N7",
"stroke": "",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "",
"fontSize": 0,
"fontFamily": "",
"language": "",
"color": "",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"zIndex": 0,
"level": 0
}
}

View file

@ -0,0 +1,858 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.6-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 990 26"><svg id="d2-svg" class="d2-2792551037" width="990" height="26" viewBox="11 11 990 26"><rect x="11.000000" y="11.000000" width="990.000000" height="26.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2792551037 .text {
font-family: "d2-2792551037-font-regular";
}
@font-face {
font-family: d2-2792551037-font-regular;
src: url("data:application/font-woff;base64,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");
}
@font-face {
font-family: d2-2792551037-font-semibold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-2792551037 .fill-N1{fill:#0A0F25;}
.d2-2792551037 .fill-N2{fill:#676C7E;}
.d2-2792551037 .fill-N3{fill:#9499AB;}
.d2-2792551037 .fill-N4{fill:#CFD2DD;}
.d2-2792551037 .fill-N5{fill:#DEE1EB;}
.d2-2792551037 .fill-N6{fill:#EEF1F8;}
.d2-2792551037 .fill-N7{fill:#FFFFFF;}
.d2-2792551037 .fill-B1{fill:#0D32B2;}
.d2-2792551037 .fill-B2{fill:#0D32B2;}
.d2-2792551037 .fill-B3{fill:#E3E9FD;}
.d2-2792551037 .fill-B4{fill:#E3E9FD;}
.d2-2792551037 .fill-B5{fill:#EDF0FD;}
.d2-2792551037 .fill-B6{fill:#F7F8FE;}
.d2-2792551037 .fill-AA2{fill:#4A6FF3;}
.d2-2792551037 .fill-AA4{fill:#EDF0FD;}
.d2-2792551037 .fill-AA5{fill:#F7F8FE;}
.d2-2792551037 .fill-AB4{fill:#EDF0FD;}
.d2-2792551037 .fill-AB5{fill:#F7F8FE;}
.d2-2792551037 .stroke-N1{stroke:#0A0F25;}
.d2-2792551037 .stroke-N2{stroke:#676C7E;}
.d2-2792551037 .stroke-N3{stroke:#9499AB;}
.d2-2792551037 .stroke-N4{stroke:#CFD2DD;}
.d2-2792551037 .stroke-N5{stroke:#DEE1EB;}
.d2-2792551037 .stroke-N6{stroke:#EEF1F8;}
.d2-2792551037 .stroke-N7{stroke:#FFFFFF;}
.d2-2792551037 .stroke-B1{stroke:#0D32B2;}
.d2-2792551037 .stroke-B2{stroke:#0D32B2;}
.d2-2792551037 .stroke-B3{stroke:#E3E9FD;}
.d2-2792551037 .stroke-B4{stroke:#E3E9FD;}
.d2-2792551037 .stroke-B5{stroke:#EDF0FD;}
.d2-2792551037 .stroke-B6{stroke:#F7F8FE;}
.d2-2792551037 .stroke-AA2{stroke:#4A6FF3;}
.d2-2792551037 .stroke-AA4{stroke:#EDF0FD;}
.d2-2792551037 .stroke-AA5{stroke:#F7F8FE;}
.d2-2792551037 .stroke-AB4{stroke:#EDF0FD;}
.d2-2792551037 .stroke-AB5{stroke:#F7F8FE;}
.d2-2792551037 .background-color-N1{background-color:#0A0F25;}
.d2-2792551037 .background-color-N2{background-color:#676C7E;}
.d2-2792551037 .background-color-N3{background-color:#9499AB;}
.d2-2792551037 .background-color-N4{background-color:#CFD2DD;}
.d2-2792551037 .background-color-N5{background-color:#DEE1EB;}
.d2-2792551037 .background-color-N6{background-color:#EEF1F8;}
.d2-2792551037 .background-color-N7{background-color:#FFFFFF;}
.d2-2792551037 .background-color-B1{background-color:#0D32B2;}
.d2-2792551037 .background-color-B2{background-color:#0D32B2;}
.d2-2792551037 .background-color-B3{background-color:#E3E9FD;}
.d2-2792551037 .background-color-B4{background-color:#E3E9FD;}
.d2-2792551037 .background-color-B5{background-color:#EDF0FD;}
.d2-2792551037 .background-color-B6{background-color:#F7F8FE;}
.d2-2792551037 .background-color-AA2{background-color:#4A6FF3;}
.d2-2792551037 .background-color-AA4{background-color:#EDF0FD;}
.d2-2792551037 .background-color-AA5{background-color:#F7F8FE;}
.d2-2792551037 .background-color-AB4{background-color:#EDF0FD;}
.d2-2792551037 .background-color-AB5{background-color:#F7F8FE;}
.d2-2792551037 .color-N1{color:#0A0F25;}
.d2-2792551037 .color-N2{color:#676C7E;}
.d2-2792551037 .color-N3{color:#9499AB;}
.d2-2792551037 .color-N4{color:#CFD2DD;}
.d2-2792551037 .color-N5{color:#DEE1EB;}
.d2-2792551037 .color-N6{color:#EEF1F8;}
.d2-2792551037 .color-N7{color:#FFFFFF;}
.d2-2792551037 .color-B1{color:#0D32B2;}
.d2-2792551037 .color-B2{color:#0D32B2;}
.d2-2792551037 .color-B3{color:#E3E9FD;}
.d2-2792551037 .color-B4{color:#E3E9FD;}
.d2-2792551037 .color-B5{color:#EDF0FD;}
.d2-2792551037 .color-B6{color:#F7F8FE;}
.d2-2792551037 .color-AA2{color:#4A6FF3;}
.d2-2792551037 .color-AA4{color:#EDF0FD;}
.d2-2792551037 .color-AA5{color:#F7F8FE;}
.d2-2792551037 .color-AB4{color:#EDF0FD;}
.d2-2792551037 .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}]]></style><style type="text/css">.d2-2792551037 .md em,
.d2-2792551037 .md dfn {
font-family: "d2-2792551037-font-italic";
}
.d2-2792551037 .md b,
.d2-2792551037 .md strong {
font-family: "d2-2792551037-font-bold";
}
.d2-2792551037 .md code,
.d2-2792551037 .md kbd,
.d2-2792551037 .md pre,
.d2-2792551037 .md samp {
font-family: "d2-2792551037-font-mono";
font-size: 1em;
}
.d2-2792551037 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.d2-2792551037 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
color: var(--color-fg-default);
background-color: transparent; /* we don't want to define the background color */
font-family: "d2-2792551037-font-regular";
font-size: 16px;
line-height: 1.5;
word-wrap: break-word;
}
.d2-2792551037 .md details,
.d2-2792551037 .md figcaption,
.d2-2792551037 .md figure {
display: block;
}
.d2-2792551037 .md summary {
display: list-item;
}
.d2-2792551037 .md [hidden] {
display: none !important;
}
.d2-2792551037 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.d2-2792551037 .md a:active,
.d2-2792551037 .md a:hover {
outline-width: 0;
}
.d2-2792551037 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.d2-2792551037 .md dfn {
font-style: italic;
}
.d2-2792551037 .md h1 {
margin: 0.67em 0;
padding-bottom: 0.3em;
font-size: 2em;
border-bottom: 1px solid var(--color-border-muted);
}
.d2-2792551037 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.d2-2792551037 .md small {
font-size: 90%;
}
.d2-2792551037 .md sub,
.d2-2792551037 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.d2-2792551037 .md sub {
bottom: -0.25em;
}
.d2-2792551037 .md sup {
top: -0.5em;
}
.d2-2792551037 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.d2-2792551037 .md figure {
margin: 1em 40px;
}
.d2-2792551037 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
border-bottom: 1px solid var(--color-border-muted);
height: 0.25em;
padding: 0;
margin: 24px 0;
background-color: var(--color-border-default);
border: 0;
}
.d2-2792551037 .md input {
font: inherit;
margin: 0;
overflow: visible;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
.d2-2792551037 .md [type="button"],
.d2-2792551037 .md [type="reset"],
.d2-2792551037 .md [type="submit"] {
-webkit-appearance: button;
}
.d2-2792551037 .md [type="button"]::-moz-focus-inner,
.d2-2792551037 .md [type="reset"]::-moz-focus-inner,
.d2-2792551037 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.d2-2792551037 .md [type="button"]:-moz-focusring,
.d2-2792551037 .md [type="reset"]:-moz-focusring,
.d2-2792551037 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.d2-2792551037 .md [type="checkbox"],
.d2-2792551037 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.d2-2792551037 .md [type="number"]::-webkit-inner-spin-button,
.d2-2792551037 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.d2-2792551037 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.d2-2792551037 .md [type="search"]::-webkit-search-cancel-button,
.d2-2792551037 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.d2-2792551037 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.d2-2792551037 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.d2-2792551037 .md a:hover {
text-decoration: underline;
}
.d2-2792551037 .md hr::before {
display: table;
content: "";
}
.d2-2792551037 .md hr::after {
display: table;
clear: both;
content: "";
}
.d2-2792551037 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
width: max-content;
max-width: 100%;
overflow: auto;
}
.d2-2792551037 .md td,
.d2-2792551037 .md th {
padding: 0;
}
.d2-2792551037 .md details summary {
cursor: pointer;
}
.d2-2792551037 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.d2-2792551037 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
vertical-align: middle;
background-color: var(--color-canvas-subtle);
border: solid 1px var(--color-neutral-muted);
border-bottom-color: var(--color-neutral-muted);
border-radius: 6px;
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.d2-2792551037 .md h1,
.d2-2792551037 .md h2,
.d2-2792551037 .md h3,
.d2-2792551037 .md h4,
.d2-2792551037 .md h5,
.d2-2792551037 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 400;
line-height: 1.25;
font-family: "d2-2792551037-font-semibold";
}
.d2-2792551037 .md h2 {
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.d2-2792551037 .md h3 {
font-size: 1.25em;
}
.d2-2792551037 .md h4 {
font-size: 1em;
}
.d2-2792551037 .md h5 {
font-size: 0.875em;
}
.d2-2792551037 .md h6 {
font-size: 0.85em;
color: var(--color-fg-muted);
}
.d2-2792551037 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.d2-2792551037 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.d2-2792551037 .md ul,
.d2-2792551037 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.d2-2792551037 .md ol ol,
.d2-2792551037 .md ul ol {
list-style-type: lower-roman;
}
.d2-2792551037 .md ul ul ol,
.d2-2792551037 .md ul ol ol,
.d2-2792551037 .md ol ul ol,
.d2-2792551037 .md ol ol ol {
list-style-type: lower-alpha;
}
.d2-2792551037 .md dd {
margin-left: 0;
}
.d2-2792551037 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.d2-2792551037 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.d2-2792551037 .md input::-webkit-outer-spin-button,
.d2-2792551037 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.d2-2792551037 .md::before {
display: table;
content: "";
}
.d2-2792551037 .md::after {
display: table;
clear: both;
content: "";
}
.d2-2792551037 .md > *:first-child {
margin-top: 0 !important;
}
.d2-2792551037 .md > *:last-child {
margin-bottom: 0 !important;
}
.d2-2792551037 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.d2-2792551037 .md .absent {
color: var(--color-danger-fg);
}
.d2-2792551037 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.d2-2792551037 .md .anchor:focus {
outline: none;
}
.d2-2792551037 .md p,
.d2-2792551037 .md blockquote,
.d2-2792551037 .md ul,
.d2-2792551037 .md ol,
.d2-2792551037 .md dl,
.d2-2792551037 .md table,
.d2-2792551037 .md pre,
.d2-2792551037 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.d2-2792551037 .md blockquote > :first-child {
margin-top: 0;
}
.d2-2792551037 .md blockquote > :last-child {
margin-bottom: 0;
}
.d2-2792551037 .md sup > a::before {
content: "[";
}
.d2-2792551037 .md sup > a::after {
content: "]";
}
.d2-2792551037 .md h1:hover .anchor,
.d2-2792551037 .md h2:hover .anchor,
.d2-2792551037 .md h3:hover .anchor,
.d2-2792551037 .md h4:hover .anchor,
.d2-2792551037 .md h5:hover .anchor,
.d2-2792551037 .md h6:hover .anchor {
text-decoration: none;
}
.d2-2792551037 .md h1 tt,
.d2-2792551037 .md h1 code,
.d2-2792551037 .md h2 tt,
.d2-2792551037 .md h2 code,
.d2-2792551037 .md h3 tt,
.d2-2792551037 .md h3 code,
.d2-2792551037 .md h4 tt,
.d2-2792551037 .md h4 code,
.d2-2792551037 .md h5 tt,
.d2-2792551037 .md h5 code,
.d2-2792551037 .md h6 tt,
.d2-2792551037 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.d2-2792551037 .md ul.no-list,
.d2-2792551037 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.d2-2792551037 .md ol[type="1"] {
list-style-type: decimal;
}
.d2-2792551037 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.d2-2792551037 .md ol[type="i"] {
list-style-type: lower-roman;
}
.d2-2792551037 .md div > ol:not([type]) {
list-style-type: decimal;
}
.d2-2792551037 .md ul ul,
.d2-2792551037 .md ul ol,
.d2-2792551037 .md ol ol,
.d2-2792551037 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.d2-2792551037 .md li > p {
margin-top: 16px;
}
.d2-2792551037 .md li + li {
margin-top: 0.25em;
}
.d2-2792551037 .md dl {
padding: 0;
}
.d2-2792551037 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-family: "d2-2792551037-font-semibold";
}
.d2-2792551037 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.d2-2792551037 .md table th {
font-family: "d2-2792551037-font-semibold";
}
.d2-2792551037 .md table th,
.d2-2792551037 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.d2-2792551037 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.d2-2792551037 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.d2-2792551037 .md table img {
background-color: transparent;
}
.d2-2792551037 .md img[align="right"] {
padding-left: 20px;
}
.d2-2792551037 .md img[align="left"] {
padding-right: 20px;
}
.d2-2792551037 .md span.frame {
display: block;
overflow: hidden;
}
.d2-2792551037 .md span.frame > span {
display: block;
float: left;
width: auto;
padding: 7px;
margin: 13px 0 0;
overflow: hidden;
border: 1px solid var(--color-border-default);
}
.d2-2792551037 .md span.frame span img {
display: block;
float: left;
}
.d2-2792551037 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.d2-2792551037 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.d2-2792551037 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.d2-2792551037 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.d2-2792551037 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.d2-2792551037 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.d2-2792551037 .md span.align-right span img {
margin: 0;
text-align: right;
}
.d2-2792551037 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.d2-2792551037 .md span.float-left span {
margin: 13px 0 0;
}
.d2-2792551037 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.d2-2792551037 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.d2-2792551037 .md code,
.d2-2792551037 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
background-color: var(--color-neutral-muted);
border-radius: 6px;
}
.d2-2792551037 .md code br,
.d2-2792551037 .md tt br {
display: none;
}
.d2-2792551037 .md del code {
text-decoration: inherit;
}
.d2-2792551037 .md pre code {
font-size: 100%;
}
.d2-2792551037 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.d2-2792551037 .md .highlight {
margin-bottom: 16px;
}
.d2-2792551037 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.d2-2792551037 .md .highlight pre,
.d2-2792551037 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: var(--color-canvas-subtle);
border-radius: 6px;
}
.d2-2792551037 .md pre code,
.d2-2792551037 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
margin: 0;
overflow: visible;
line-height: inherit;
word-wrap: normal;
background-color: transparent;
border: 0;
}
.d2-2792551037 .md .csv-data td,
.d2-2792551037 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
line-height: 1;
text-align: left;
white-space: nowrap;
}
.d2-2792551037 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.d2-2792551037 .md .csv-data tr {
border-top: 0;
}
.d2-2792551037 .md .csv-data th {
font-family: "d2-2792551037-font-semibold";
background: var(--color-canvas-subtle);
border-top: 0;
}
.d2-2792551037 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.d2-2792551037 .md .footnotes ol {
padding-left: 16px;
}
.d2-2792551037 .md .footnotes li {
position: relative;
}
.d2-2792551037 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
bottom: -8px;
left: -24px;
pointer-events: none;
content: "";
border: 2px solid var(--color-accent-emphasis);
border-radius: 6px;
}
.d2-2792551037 .md .footnotes li:target {
color: var(--color-fg-default);
}
.d2-2792551037 .md .task-list-item {
list-style-type: none;
}
.d2-2792551037 .md .task-list-item label {
font-weight: 400;
}
.d2-2792551037 .md .task-list-item.enabled label {
cursor: pointer;
}
.d2-2792551037 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.d2-2792551037 .md .task-list-item .handle {
display: none;
}
.d2-2792551037 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.d2-2792551037 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><g id="■"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="12.000000" y="12.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>■ foo bar</p>
</div></foreignObject></g></g><g id="□"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="98.000000" y="12.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>□ foo bar</p>
</div></foreignObject></g></g><g id="●"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="180.000000" y="12.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>● foo bar</p>
</div></foreignObject></g></g><g id="○"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="262.000000" y="12.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>○ foo bar</p>
</div></foreignObject></g></g><g id="◆"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="344.000000" y="12.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>◆ foo bar</p>
</div></foreignObject></g></g><g id="◇"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="430.000000" y="12.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>◇ foo bar</p>
</div></foreignObject></g></g><g id="▲"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="512.000000" y="12.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>▲ foo bar</p>
</div></foreignObject></g></g><g id="△"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="598.000000" y="12.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>△ foo bar</p>
</div></foreignObject></g></g><g id="▼"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="684.000000" y="12.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>▼ foo bar</p>
</div></foreignObject></g></g><g id="▽"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="770.000000" y="12.000000" width="66" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>▽ foo bar</p>
</div></foreignObject></g></g><g id="※"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="856.000000" y="12.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>※ foo bar</p>
</div></foreignObject></g></g><g id="◎"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="938.000000" y="12.000000" width="62" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>◎ foo bar</p>
</div></foreignObject></g></g><mask id="d2-2792551037" maskUnits="userSpaceOnUse" x="11" y="11" width="990" height="26">
<rect x="11" y="11" width="990" height="26" fill="white"></rect>
<rect x="12.000000" y="12.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="98.000000" y="12.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="180.000000" y="12.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="262.000000" y="12.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="344.000000" y="12.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="430.000000" y="12.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="512.000000" y="12.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="598.000000" y="12.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="684.000000" y="12.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="770.000000" y="12.000000" width="66" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="856.000000" y="12.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="938.000000" y="12.000000" width="62" height="24" fill="rgba(0,0,0,0.75)"></rect>
</mask></svg></svg>

After

Width:  |  Height:  |  Size: 30 KiB

View file

@ -130,10 +130,10 @@
"id": "d",
"type": "rectangle",
"pos": {
"x": 29,
"x": 32,
"y": 498
},
"width": 244,
"width": 238,
"height": 66,
"opacity": 1,
"strokeDash": 0,
@ -161,7 +161,7 @@
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 199,
"labelWidth": 193,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
@ -294,10 +294,10 @@
"id": "h",
"type": "rectangle",
"pos": {
"x": 368,
"x": 370,
"y": 498
},
"width": 173,
"width": 170,
"height": 66,
"opacity": 1,
"strokeDash": 0,
@ -325,7 +325,7 @@
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 128,
"labelWidth": 125,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
@ -338,7 +338,7 @@
"x": 633,
"y": 0
},
"width": 282,
"width": 273,
"height": 66,
"opacity": 1,
"strokeDash": 0,
@ -366,7 +366,7 @@
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 237,
"labelWidth": 228,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
@ -376,7 +376,7 @@
"id": "j",
"type": "rectangle",
"pos": {
"x": 662,
"x": 658,
"y": 166
},
"width": 224,
@ -417,7 +417,7 @@
"id": "k",
"type": "rectangle",
"pos": {
"x": 642,
"x": 637,
"y": 332
},
"width": 265,
@ -458,7 +458,7 @@
"id": "l",
"type": "rectangle",
"pos": {
"x": 675,
"x": 670,
"y": 498
},
"width": 199,
@ -499,7 +499,7 @@
"id": "m",
"type": "rectangle",
"pos": {
"x": 975,
"x": 966,
"y": 0
},
"width": 255,
@ -540,7 +540,7 @@
"id": "n",
"type": "rectangle",
"pos": {
"x": 996,
"x": 987,
"y": 166
},
"width": 213,
@ -581,7 +581,7 @@
"id": "o",
"type": "rectangle",
"pos": {
"x": 1024,
"x": 1015,
"y": 332
},
"width": 158,
@ -622,7 +622,7 @@
"id": "p",
"type": "rectangle",
"pos": {
"x": 984,
"x": 975,
"y": 498
},
"width": 238,
@ -663,7 +663,7 @@
"id": "\"မင်္ဂလာပါ (mingalaba) - Burmese\"",
"type": "rectangle",
"pos": {
"x": 1290,
"x": 1281,
"y": 0
},
"width": 307,
@ -704,7 +704,7 @@
"id": "\"сайн уу (sain uu) - Mongolian\"",
"type": "rectangle",
"pos": {
"x": 1657,
"x": 1648,
"y": 0
},
"width": 264,
@ -745,7 +745,7 @@
"id": "\"ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ (sat sri akal) - Punjabi\"",
"type": "rectangle",
"pos": {
"x": 1981,
"x": 1972,
"y": 0
},
"width": 328,
@ -786,10 +786,10 @@
"id": "\"你吃了吗 (ní chī le ma) - Mandarin Chinese\"",
"type": "rectangle",
"pos": {
"x": 2369,
"x": 2360,
"y": 0
},
"width": 370,
"width": 363,
"height": 66,
"opacity": 1,
"strokeDash": 0,
@ -817,7 +817,7 @@
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 325,
"labelWidth": 318,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
@ -827,7 +827,7 @@
"id": "\"饭 (fan) - Zhuang\"",
"type": "rectangle",
"pos": {
"x": 2799,
"x": 2783,
"y": 0
},
"width": 167,
@ -868,7 +868,7 @@
"id": "مەن سىزنى ياخشى ئۈمىد ق",
"type": "rectangle",
"pos": {
"x": 3026,
"x": 3010,
"y": 0
},
"width": 266,
@ -1214,19 +1214,19 @@
"labelPercentage": 0,
"route": [
{
"x": 774,
"x": 769.5,
"y": 66
},
{
"x": 774,
"x": 769.5,
"y": 106
},
{
"x": 774,
"x": 769.5,
"y": 126
},
{
"x": 774,
"x": 769.5,
"y": 166
}
],
@ -1261,19 +1261,19 @@
"labelPercentage": 0,
"route": [
{
"x": 774,
"x": 769.5,
"y": 232
},
{
"x": 774,
"x": 769.5,
"y": 272
},
{
"x": 774,
"x": 769.5,
"y": 292
},
{
"x": 774,
"x": 769.5,
"y": 332
}
],
@ -1308,19 +1308,19 @@
"labelPercentage": 0,
"route": [
{
"x": 774,
"x": 769.5,
"y": 398
},
{
"x": 774,
"x": 769.5,
"y": 438
},
{
"x": 774,
"x": 769.5,
"y": 458
},
{
"x": 774,
"x": 769.5,
"y": 498
}
],
@ -1355,19 +1355,19 @@
"labelPercentage": 0,
"route": [
{
"x": 1102.5,
"x": 1093.5,
"y": 66
},
{
"x": 1102.5,
"x": 1093.5,
"y": 106
},
{
"x": 1102.5,
"x": 1093.5,
"y": 126
},
{
"x": 1102.5,
"x": 1093.5,
"y": 166
}
],
@ -1402,19 +1402,19 @@
"labelPercentage": 0,
"route": [
{
"x": 1102.5,
"x": 1093.5,
"y": 232
},
{
"x": 1102.5,
"x": 1093.5,
"y": 272
},
{
"x": 1102.5,
"x": 1093.5,
"y": 292
},
{
"x": 1102.5,
"x": 1093.5,
"y": 332
}
],
@ -1449,19 +1449,19 @@
"labelPercentage": 0,
"route": [
{
"x": 1102.5,
"x": 1093.5,
"y": 398
},
{
"x": 1102.5,
"x": 1093.5,
"y": 438
},
{
"x": 1102.5,
"x": 1093.5,
"y": 458
},
{
"x": 1102.5,
"x": 1093.5,
"y": 498
}
],

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -130,10 +130,10 @@
"id": "d",
"type": "rectangle",
"pos": {
"x": 40,
"x": 43,
"y": 420
},
"width": 244,
"width": 238,
"height": 66,
"opacity": 1,
"strokeDash": 0,
@ -161,7 +161,7 @@
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 199,
"labelWidth": 193,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
@ -294,10 +294,10 @@
"id": "h",
"type": "rectangle",
"pos": {
"x": 340,
"x": 341,
"y": 420
},
"width": 173,
"width": 170,
"height": 66,
"opacity": 1,
"strokeDash": 0,
@ -325,7 +325,7 @@
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 128,
"labelWidth": 125,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
@ -338,7 +338,7 @@
"x": 565,
"y": 12
},
"width": 282,
"width": 273,
"height": 66,
"opacity": 1,
"strokeDash": 0,
@ -366,7 +366,7 @@
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 237,
"labelWidth": 228,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
@ -376,7 +376,7 @@
"id": "j",
"type": "rectangle",
"pos": {
"x": 594,
"x": 589,
"y": 148
},
"width": 224,
@ -417,7 +417,7 @@
"id": "k",
"type": "rectangle",
"pos": {
"x": 573,
"x": 569,
"y": 284
},
"width": 265,
@ -458,7 +458,7 @@
"id": "l",
"type": "rectangle",
"pos": {
"x": 606,
"x": 602,
"y": 420
},
"width": 199,
@ -499,7 +499,7 @@
"id": "m",
"type": "rectangle",
"pos": {
"x": 867,
"x": 858,
"y": 12
},
"width": 255,
@ -540,7 +540,7 @@
"id": "n",
"type": "rectangle",
"pos": {
"x": 888,
"x": 879,
"y": 148
},
"width": 213,
@ -581,7 +581,7 @@
"id": "o",
"type": "rectangle",
"pos": {
"x": 915,
"x": 906,
"y": 284
},
"width": 158,
@ -622,7 +622,7 @@
"id": "p",
"type": "rectangle",
"pos": {
"x": 875,
"x": 866,
"y": 420
},
"width": 238,
@ -663,7 +663,7 @@
"id": "\"မင်္ဂလာပါ (mingalaba) - Burmese\"",
"type": "rectangle",
"pos": {
"x": 1142,
"x": 1133,
"y": 12
},
"width": 307,
@ -704,7 +704,7 @@
"id": "\"сайн уу (sain uu) - Mongolian\"",
"type": "rectangle",
"pos": {
"x": 1469,
"x": 1460,
"y": 12
},
"width": 264,
@ -745,7 +745,7 @@
"id": "\"ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ (sat sri akal) - Punjabi\"",
"type": "rectangle",
"pos": {
"x": 1753,
"x": 1744,
"y": 12
},
"width": 328,
@ -786,10 +786,10 @@
"id": "\"你吃了吗 (ní chī le ma) - Mandarin Chinese\"",
"type": "rectangle",
"pos": {
"x": 2101,
"x": 2092,
"y": 12
},
"width": 370,
"width": 363,
"height": 66,
"opacity": 1,
"strokeDash": 0,
@ -817,7 +817,7 @@
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 325,
"labelWidth": 318,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
@ -827,7 +827,7 @@
"id": "\"饭 (fan) - Zhuang\"",
"type": "rectangle",
"pos": {
"x": 2491,
"x": 2475,
"y": 12
},
"width": 167,
@ -868,7 +868,7 @@
"id": "مەن سىزنى ياخشى ئۈمىد ق",
"type": "rectangle",
"pos": {
"x": 2678,
"x": 2662,
"y": 12
},
"width": 266,
@ -1160,11 +1160,11 @@
"labelPercentage": 0,
"route": [
{
"x": 706,
"x": 701.5,
"y": 78
},
{
"x": 706,
"x": 701.5,
"y": 148
}
],
@ -1198,11 +1198,11 @@
"labelPercentage": 0,
"route": [
{
"x": 706,
"x": 701.5,
"y": 214
},
{
"x": 706,
"x": 701.5,
"y": 284
}
],
@ -1236,11 +1236,11 @@
"labelPercentage": 0,
"route": [
{
"x": 706,
"x": 701.5,
"y": 350
},
{
"x": 706,
"x": 701.5,
"y": 420
}
],
@ -1274,11 +1274,11 @@
"labelPercentage": 0,
"route": [
{
"x": 994.5,
"x": 985.5,
"y": 78
},
{
"x": 994.5,
"x": 985.5,
"y": 148
}
],
@ -1312,11 +1312,11 @@
"labelPercentage": 0,
"route": [
{
"x": 994.5,
"x": 985.5,
"y": 214
},
{
"x": 994.5,
"x": 985.5,
"y": 284
}
],
@ -1350,11 +1350,11 @@
"labelPercentage": 0,
"route": [
{
"x": 994.5,
"x": 985.5,
"y": 350
},
{
"x": 994.5,
"x": 985.5,
"y": 420
}
],

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -402,3 +402,56 @@ customer -> item: true
alice -> bob: What does it mean\nto be well-adjusted?
bob -> alice: The ability to play bridge or\ngolf as if they were games.
-- extended-ascii --
1: |md
ÇéþüðæØÅßñò
|
2: |md
òØõùßÍÿåÆ
|
3: |md
çÆÐÞ©ßþúí
|
4: |md
ÉáøÿÑö
|
1 -> 2 -> 3 -> 4 -> 1
-- unicode --
■: |md
■ foo bar
|
□: |md
□ foo bar
|
●: |md
● foo bar
|
○: |md
○ foo bar
|
◆: |md
◆ foo bar
|
◇: |md
◇ foo bar
|
▲: |md
▲ foo bar
|
△: |md
△ foo bar
|
▼: |md
▼ foo bar
|
▽: |md
▽ foo bar
|
※: |md
※ foo bar
|
◎: |md
◎ foo bar
|

View file

@ -6,7 +6,6 @@ package textmeasure
import (
"math"
"strings"
"unicode"
"unicode/utf8"
"github.com/golang/freetype/truetype"
@ -20,13 +19,23 @@ const TAB_SIZE = 4
const SIZELESS_FONT_SIZE = 0
const CODE_LINE_HEIGHT = 1.3
// ASCII is a set of all ASCII runes. These runes are codepoints from 32 to 127 inclusive.
var ASCII []rune
// Runes encompasses ASCII, Latin-1, and geometric shapes like black square
var Runes []rune
func init() {
ASCII = make([]rune, unicode.MaxASCII-32)
for i := range ASCII {
ASCII[i] = rune(32 + i)
// ASCII range (U+0000 to U+007F)
for r := rune(0x0000); r <= rune(0x007F); r++ {
Runes = append(Runes, r)
}
// Latin-1 Supplement (U+0080 to U+00FF)
for r := rune(0x0080); r <= rune(0x00FF); r++ {
Runes = append(Runes, r)
}
// Geometric Shapes (U+25A0 to U+25FF)
for r := rune(0x25A0); r <= rune(0x25FF); r++ {
Runes = append(Runes, r)
}
}
@ -167,7 +176,7 @@ func (r *Ruler) addFontSize(font d2fonts.Font) {
face := truetype.NewFace(r.ttfs[sizeless], &truetype.Options{
Size: float64(font.Size),
})
atlas := NewAtlas(face, ASCII)
atlas := NewAtlas(face, Runes)
r.atlases[font] = atlas
r.lineHeights[font] = atlas.lineHeight
r.tabWidths[font] = atlas.glyph(' ').advance * TAB_SIZE