This commit is contained in:
Alexander Wang 2025-03-13 20:04:14 -06:00
parent 434dca0250
commit c22a8e1ef2
No known key found for this signature in database
GPG key ID: BE3937D0D52D8927
15 changed files with 1970 additions and 1971 deletions

View file

@ -581,12 +581,12 @@
"y": 697.2000122070312 "y": 697.2000122070312
}, },
{ {
"x": 1602.199951171875, "x": 1602.4000244140625,
"y": 1062.199951171875 "y": 1061.800048828125
}, },
{ {
"x": 1475, "x": 1476,
"y": 1195 "y": 1193
} }
], ],
"isCurve": true, "isCurve": true,
@ -621,12 +621,12 @@
"link": "", "link": "",
"route": [ "route": [
{ {
"x": 1453, "x": 1454,
"y": 1116 "y": 1115
}, },
{ {
"x": 1482.4000244140625, "x": 1482.5999755859375,
"y": 1046.4000244140625 "y": 1046.199951171875
}, },
{ {
"x": 1485.4000244140625, "x": 1485.4000244140625,

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View file

@ -338,7 +338,7 @@
}, },
{ {
"x": 1414, "x": 1414,
"y": 699 "y": 700
} }
], ],
"animated": false, "animated": false,
@ -377,7 +377,7 @@
}, },
{ {
"x": 1237, "x": 1237,
"y": 1232 "y": 1233
} }
], ],
"animated": false, "animated": false,
@ -411,7 +411,7 @@
"link": "", "link": "",
"route": [ "route": [
{ {
"x": 1466, "x": 1465,
"y": 1485 "y": 1485
}, },
{ {
@ -451,7 +451,7 @@
"route": [ "route": [
{ {
"x": 1620, "x": 1620,
"y": 1603 "y": 1602
}, },
{ {
"x": 1620, "x": 1620,
@ -494,7 +494,7 @@
}, },
{ {
"x": 1526, "x": 1526,
"y": 1233 "y": 1234
} }
], ],
"animated": false, "animated": false,

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View file

@ -16,10 +16,10 @@
"type": "c4-person", "type": "c4-person",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 507 "y": 506
}, },
"width": 336, "width": 336,
"height": 342, "height": 341,
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 1, "strokeWidth": 1,
@ -100,7 +100,7 @@
"type": "person", "type": "person",
"pos": { "pos": {
"x": 101, "x": 101,
"y": 311 "y": 310
}, },
"width": 134, "width": 134,
"height": 89, "height": 89,
@ -145,7 +145,7 @@
"y": 273 "y": 273
}, },
"width": 210, "width": 210,
"height": 525, "height": 524,
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -183,11 +183,11 @@
"id": "styling.c4styled", "id": "styling.c4styled",
"type": "c4-person", "type": "c4-person",
"pos": { "pos": {
"x": 449, "x": 450,
"y": 303 "y": 303
}, },
"width": 84, "width": 83,
"height": 104, "height": 103,
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 1, "strokeWidth": 1,
@ -226,7 +226,7 @@
"type": "c4-person", "type": "c4-person",
"pos": { "pos": {
"x": 416, "x": 416,
"y": 588 "y": 587
}, },
"width": 150, "width": 150,
"height": 180, "height": 180,
@ -292,19 +292,19 @@
"route": [ "route": [
{ {
"x": 168, "x": 168,
"y": 426 "y": 425
}, },
{ {
"x": 168, "x": 168,
"y": 450.79998779296875 "y": 449.79998779296875
}, },
{ {
"x": 168, "x": 168,
"y": 467 "y": 466
}, },
{ {
"x": 168, "x": 168,
"y": 507 "y": 506
} }
], ],
"isCurve": true, "isCurve": true,
@ -339,20 +339,20 @@
"link": "", "link": "",
"route": [ "route": [
{ {
"x": 262, "x": 261,
"y": 119 "y": 119
}, },
{ {
"x": 186.8000030517578, "x": 186.60000610351562,
"y": 177.8000030517578 "y": 177.8000030517578
}, },
{ {
"x": 168, "x": 168,
"y": 264.6000061035156 "y": 264.3999938964844
}, },
{ {
"x": 168, "x": 168,
"y": 311 "y": 310
} }
], ],
"isCurve": true, "isCurve": true,
@ -387,11 +387,11 @@
"link": "", "link": "",
"route": [ "route": [
{ {
"x": 397, "x": 398,
"y": 119 "y": 119
}, },
{ {
"x": 472.20001220703125, "x": 472.3999938964844,
"y": 177.8000030517578 "y": 177.8000030517578
}, },
{ {
@ -436,19 +436,19 @@
"route": [ "route": [
{ {
"x": 491, "x": 491,
"y": 407 "y": 406
}, },
{ {
"x": 491, "x": 491,
"y": 447 "y": 446
}, },
{ {
"x": 491, "x": 491,
"y": 483.20001220703125 "y": 482.20001220703125
}, },
{ {
"x": 491, "x": 491,
"y": 588 "y": 587
} }
], ],
"isCurve": true, "isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View file

@ -16,10 +16,10 @@
"type": "c4-person", "type": "c4-person",
"pos": { "pos": {
"x": 12, "x": 12,
"y": 938 "y": 937
}, },
"width": 336, "width": 336,
"height": 342, "height": 341,
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 1, "strokeWidth": 1,
@ -100,7 +100,7 @@
"type": "person", "type": "person",
"pos": { "pos": {
"x": 113, "x": 113,
"y": 753 "y": 752
}, },
"width": 134, "width": 134,
"height": 89, "height": 89,
@ -145,7 +145,7 @@
"y": 229 "y": 229
}, },
"width": 250, "width": 250,
"height": 454, "height": 453,
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -183,11 +183,11 @@
"id": "styling.c4styled", "id": "styling.c4styled",
"type": "c4-person", "type": "c4-person",
"pos": { "pos": {
"x": 339, "x": 340,
"y": 279 "y": 279
}, },
"width": 84, "width": 83,
"height": 104, "height": 103,
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 1, "strokeWidth": 1,
@ -226,7 +226,7 @@
"type": "c4-person", "type": "c4-person",
"pos": { "pos": {
"x": 306, "x": 306,
"y": 453 "y": 452
}, },
"width": 150, "width": 150,
"height": 180, "height": 180,
@ -292,11 +292,11 @@
"route": [ "route": [
{ {
"x": 180, "x": 180,
"y": 868 "y": 867
}, },
{ {
"x": 180, "x": 180,
"y": 938 "y": 937
} }
], ],
"animated": false, "animated": false,
@ -331,7 +331,7 @@
"route": [ "route": [
{ {
"x": 258, "x": 258,
"y": 143 "y": 144
}, },
{ {
"x": 257.5830078125, "x": 257.5830078125,
@ -343,7 +343,7 @@
}, },
{ {
"x": 180, "x": 180,
"y": 753 "y": 752
} }
], ],
"animated": false, "animated": false,
@ -378,7 +378,7 @@
"route": [ "route": [
{ {
"x": 304, "x": 304,
"y": 143 "y": 144
}, },
{ {
"x": 303.9159851074219, "x": 303.9159851074219,
@ -425,11 +425,11 @@
"route": [ "route": [
{ {
"x": 381, "x": 381,
"y": 383 "y": 382
}, },
{ {
"x": 382, "x": 382,
"y": 453 "y": 452
} }
], ],
"animated": false, "animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View file

@ -18,8 +18,8 @@
"x": 1089, "x": 1089,
"y": 0 "y": 0
}, },
"width": 415, "width": 414,
"height": 394, "height": 393,
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -58,7 +58,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 147, "x": 147,
"y": 551 "y": 550
}, },
"width": 2407, "width": 2407,
"height": 915, "height": 915,
@ -100,7 +100,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 177, "x": 177,
"y": 581 "y": 580
}, },
"width": 550, "width": 550,
"height": 164, "height": 164,
@ -142,7 +142,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 390, "x": 390,
"y": 866 "y": 865
}, },
"width": 609, "width": 609,
"height": 164, "height": 164,
@ -184,7 +184,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 1123, "x": 1123,
"y": 866 "y": 865
}, },
"width": 707, "width": 707,
"height": 164, "height": 164,
@ -226,7 +226,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 1246, "x": 1246,
"y": 1167 "y": 1166
}, },
"width": 461, "width": 461,
"height": 164, "height": 164,
@ -268,7 +268,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 1890, "x": 1890,
"y": 866 "y": 865
}, },
"width": 634, "width": 634,
"height": 164, "height": 164,
@ -310,7 +310,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 2410, "x": 2410,
"y": 1603 "y": 1602
}, },
"width": 360, "width": 360,
"height": 164, "height": 164,
@ -352,7 +352,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 1603 "y": 1602
}, },
"width": 629, "width": 629,
"height": 164, "height": 164,
@ -418,19 +418,19 @@
"route": [ "route": [
{ {
"x": 1089, "x": 1089,
"y": 262 "y": 261
}, },
{ {
"x": 579.4000244140625, "x": 579.4000244140625,
"y": 422.3999938964844 "y": 421.3999938964844
}, },
{ {
"x": 452, "x": 452,
"y": 541 "y": 540
}, },
{ {
"x": 452, "x": 452,
"y": 581 "y": 580
} }
], ],
"isCurve": true, "isCurve": true,
@ -466,19 +466,19 @@
"route": [ "route": [
{ {
"x": 452, "x": 452,
"y": 744.5 "y": 743.5
}, },
{ {
"x": 452, "x": 452,
"y": 793.2999877929688 "y": 792.2999877929688
}, },
{ {
"x": 472.3999938964844, "x": 472.3999938964844,
"y": 817.7000122070312 "y": 816.7000122070312
}, },
{ {
"x": 554, "x": 554,
"y": 866.5 "y": 865.5
} }
], ],
"isCurve": true, "isCurve": true,
@ -514,43 +514,43 @@
"route": [ "route": [
{ {
"x": 1091, "x": 1091,
"y": 349 "y": 348
}, },
{ {
"x": 967.7999877929688, "x": 967.7999877929688,
"y": 439.79998779296875 "y": 438.79998779296875
}, },
{ {
"x": 937, "x": 937,
"y": 476.20001220703125 "y": 475.20001220703125
}, },
{ {
"x": 937, "x": 937,
"y": 496.75 "y": 495.75
}, },
{ {
"x": 937, "x": 937,
"y": 517.2990112304688 "y": 516.2990112304688
}, },
{ {
"x": 937, "x": 937,
"y": 557.4000244140625 "y": 556.4000244140625
}, },
{ {
"x": 937, "x": 937,
"y": 597 "y": 596
}, },
{ {
"x": 937, "x": 937,
"y": 636.5999755859375 "y": 635.5999755859375
}, },
{ {
"x": 916.5999755859375, "x": 916.5999755859375,
"y": 817.7000122070312 "y": 816.7000122070312
}, },
{ {
"x": 835, "x": 835,
"y": 866.5 "y": 865.5
} }
], ],
"isCurve": true, "isCurve": true,
@ -585,44 +585,44 @@
"link": "", "link": "",
"route": [ "route": [
{ {
"x": 1430, "x": 1429,
"y": 394 "y": 393
}, },
{ {
"x": 1466.800048828125, "x": 1466.5999755859375,
"y": 448.79998779296875 "y": 447.79998779296875
}, },
{ {
"x": 1476, "x": 1476,
"y": 476.20001220703125 "y": 475.20001220703125
}, },
{ {
"x": 1476, "x": 1476,
"y": 496.75 "y": 495.75
}, },
{ {
"x": 1476, "x": 1476,
"y": 517.2990112304688 "y": 516.2990112304688
}, },
{ {
"x": 1476, "x": 1476,
"y": 557.4000244140625 "y": 556.4000244140625
}, },
{ {
"x": 1476, "x": 1476,
"y": 597 "y": 596
}, },
{ {
"x": 1476, "x": 1476,
"y": 636.5999755859375 "y": 635.5999755859375
}, },
{ {
"x": 1476, "x": 1476,
"y": 817.7000122070312 "y": 816.7000122070312
}, },
{ {
"x": 1476, "x": 1476,
"y": 866.5 "y": 865.5
} }
], ],
"isCurve": true, "isCurve": true,
@ -658,19 +658,19 @@
"route": [ "route": [
{ {
"x": 694.5, "x": 694.5,
"y": 1029.5 "y": 1028.5
}, },
{ {
"x": 694.5, "x": 694.5,
"y": 1084.699951171875 "y": 1083.699951171875
}, },
{ {
"x": 804.7000122070312, "x": 804.7000122070312,
"y": 1119.7220458984375 "y": 1118.7220458984375
}, },
{ {
"x": 1245.5, "x": 1245.5,
"y": 1204.6099853515625 "y": 1203.6099853515625
} }
], ],
"isCurve": true, "isCurve": true,
@ -706,19 +706,19 @@
"route": [ "route": [
{ {
"x": 1476, "x": 1476,
"y": 1029.5 "y": 1028.5
}, },
{ {
"x": 1476, "x": 1476,
"y": 1084.699951171875 "y": 1083.699951171875
}, },
{ {
"x": 1476, "x": 1476,
"y": 1112.300048828125 "y": 1111.300048828125
}, },
{ {
"x": 1476, "x": 1476,
"y": 1167.5 "y": 1166.5
} }
], ],
"isCurve": true, "isCurve": true,
@ -754,19 +754,19 @@
"route": [ "route": [
{ {
"x": 1245.5, "x": 1245.5,
"y": 1275.1949462890625 "y": 1274.1949462890625
}, },
{ {
"x": 500.6990051269531, "x": 500.6990051269531,
"y": 1427.8389892578125 "y": 1426.8389892578125
}, },
{ {
"x": 314.5, "x": 314.5,
"y": 1548.300048828125 "y": 1547.300048828125
}, },
{ {
"x": 314.5, "x": 314.5,
"y": 1603.5 "y": 1602.5
} }
], ],
"isCurve": true, "isCurve": true,
@ -806,99 +806,99 @@
}, },
{ {
"x": 2410.199951171875, "x": 2410.199951171875,
"y": 417.6000061035156 "y": 416.79998779296875
}, },
{ {
"x": 2637, "x": 2637,
"y": 476.20001220703125 "y": 475.20001220703125
}, },
{ {
"x": 2637, "x": 2637,
"y": 496.75 "y": 495.75
}, },
{ {
"x": 2637, "x": 2637,
"y": 517.2990112304688 "y": 516.2990112304688
}, },
{ {
"x": 2637, "x": 2637,
"y": 557.4000244140625 "y": 556.4000244140625
}, },
{ {
"x": 2637, "x": 2637,
"y": 597 "y": 596
}, },
{ {
"x": 2637, "x": 2637,
"y": 636.5999755859375 "y": 635.5999755859375
}, },
{ {
"x": 2637, "x": 2637,
"y": 691.5 "y": 690.5
}, },
{ {
"x": 2637, "x": 2637,
"y": 734.25 "y": 733.25
}, },
{ {
"x": 2637, "x": 2637,
"y": 777 "y": 776
}, },
{ {
"x": 2637, "x": 2637,
"y": 834 "y": 833
}, },
{ {
"x": 2637, "x": 2637,
"y": 876.75 "y": 875.75
}, },
{ {
"x": 2637, "x": 2637,
"y": 919.5 "y": 918.5
}, },
{ {
"x": 2637, "x": 2637,
"y": 978.0999755859375 "y": 977.0999755859375
}, },
{ {
"x": 2637, "x": 2637,
"y": 1023.25 "y": 1022.25
}, },
{ {
"x": 2637, "x": 2637,
"y": 1068.4000244140625 "y": 1067.4000244140625
}, },
{ {
"x": 2637, "x": 2637,
"y": 1128.5999755859375 "y": 1127.5999755859375
}, },
{ {
"x": 2637, "x": 2637,
"y": 1173.75 "y": 1172.75
}, },
{ {
"x": 2637, "x": 2637,
"y": 1218.9000244140625 "y": 1217.9000244140625
}, },
{ {
"x": 2637, "x": 2637,
"y": 1292.4000244140625 "y": 1291.4000244140625
}, },
{ {
"x": 2637, "x": 2637,
"y": 1357.5 "y": 1356.5
}, },
{ {
"x": 2637, "x": 2637,
"y": 1422.5999755859375 "y": 1421.5999755859375
}, },
{ {
"x": 2632.800048828125, "x": 2632.800048828125,
"y": 1548.300048828125 "y": 1547.300048828125
}, },
{ {
"x": 2616, "x": 2616,
"y": 1603.5 "y": 1602.5
} }
], ],
"isCurve": true, "isCurve": true,
@ -934,19 +934,19 @@
"route": [ "route": [
{ {
"x": 1707.5, "x": 1707.5,
"y": 1282.843994140625 "y": 1281.843994140625
}, },
{ {
"x": 2241.5, "x": 2241.5,
"y": 1429.3680419921875 "y": 1428.3680419921875
}, },
{ {
"x": 2394.39990234375, "x": 2394.39990234375,
"y": 1548.300048828125 "y": 1547.300048828125
}, },
{ {
"x": 2472, "x": 2472,
"y": 1603.5 "y": 1602.5
} }
], ],
"isCurve": true, "isCurve": true,
@ -982,19 +982,19 @@
"route": [ "route": [
{ {
"x": 2206.5, "x": 2206.5,
"y": 1029.5 "y": 1028.5
}, },
{ {
"x": 2206.5, "x": 2206.5,
"y": 1084.699951171875 "y": 1083.699951171875
}, },
{ {
"x": 2106.5, "x": 2106.5,
"y": 1119.0999755859375 "y": 1118.0999755859375
}, },
{ {
"x": 1706.5, "x": 1706.5,
"y": 1201.5 "y": 1200.5
} }
], ],
"isCurve": true, "isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View file

@ -15,11 +15,11 @@
"id": "customer", "id": "customer",
"type": "c4-person", "type": "c4-person",
"pos": { "pos": {
"x": 704, "x": 705,
"y": 12 "y": 12
}, },
"width": 415, "width": 414,
"height": 394, "height": 393,
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -58,7 +58,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 12, "x": 12,
"y": 658 "y": 657
}, },
"width": 2218, "width": 2218,
"height": 1035, "height": 1035,
@ -100,7 +100,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 62, "x": 62,
"y": 708 "y": 707
}, },
"width": 550, "width": 550,
"height": 164, "height": 164,
@ -142,7 +142,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 190, "x": 190,
"y": 1043 "y": 1042
}, },
"width": 609, "width": 609,
"height": 164, "height": 164,
@ -184,7 +184,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 819, "x": 819,
"y": 1043 "y": 1042
}, },
"width": 707, "width": 707,
"height": 164, "height": 164,
@ -226,7 +226,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 942, "x": 942,
"y": 1394 "y": 1393
}, },
"width": 461, "width": 461,
"height": 164, "height": 164,
@ -268,7 +268,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 1546, "x": 1546,
"y": 1043 "y": 1042
}, },
"width": 634, "width": 634,
"height": 164, "height": 164,
@ -310,7 +310,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 1746, "x": 1746,
"y": 1895 "y": 1894
}, },
"width": 360, "width": 360,
"height": 164, "height": 164,
@ -352,7 +352,7 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 781, "x": 781,
"y": 1895 "y": 1894
}, },
"width": 629, "width": 629,
"height": 164, "height": 164,
@ -418,19 +418,19 @@
"route": [ "route": [
{ {
"x": 788, "x": 788,
"y": 406 "y": 405
}, },
{ {
"x": 787.75, "x": 788.0499877929688,
"y": 446 "y": 445
}, },
{ {
"x": 359.25, "x": 359.25,
"y": 446 "y": 445
}, },
{ {
"x": 359.25, "x": 359.25,
"y": 708 "y": 707
} }
], ],
"animated": false, "animated": false,
@ -465,11 +465,11 @@
"route": [ "route": [
{ {
"x": 393, "x": 393,
"y": 872 "y": 871
}, },
{ {
"x": 393, "x": 393,
"y": 1043 "y": 1042
} }
], ],
"animated": false, "animated": false,
@ -504,19 +504,19 @@
"route": [ "route": [
{ {
"x": 871, "x": 871,
"y": 406 "y": 405
}, },
{ {
"x": 870.75, "x": 870.8489990234375,
"y": 496 "y": 495
}, },
{ {
"x": 652, "x": 652,
"y": 496 "y": 495
}, },
{ {
"x": 652, "x": 652,
"y": 1043 "y": 1042
} }
], ],
"animated": false, "animated": false,
@ -551,11 +551,11 @@
"route": [ "route": [
{ {
"x": 954, "x": 954,
"y": 406 "y": 405
}, },
{ {
"x": 953.75, "x": 953.6489868164062,
"y": 1043 "y": 1042
} }
], ],
"animated": false, "animated": false,
@ -590,19 +590,19 @@
"route": [ "route": [
{ {
"x": 494.5, "x": 494.5,
"y": 1207 "y": 1206
}, },
{ {
"x": 494.5, "x": 494.5,
"y": 1354 "y": 1353
}, },
{ {
"x": 1057.25, "x": 1057.25,
"y": 1354 "y": 1353
}, },
{ {
"x": 1057.25, "x": 1057.25,
"y": 1394 "y": 1393
} }
], ],
"animated": false, "animated": false,
@ -637,11 +637,11 @@
"route": [ "route": [
{ {
"x": 1172.5, "x": 1172.5,
"y": 1207 "y": 1206
}, },
{ {
"x": 1172.5, "x": 1172.5,
"y": 1394 "y": 1393
} }
], ],
"animated": false, "animated": false,
@ -676,11 +676,11 @@
"route": [ "route": [
{ {
"x": 1095.666015625, "x": 1095.666015625,
"y": 1558 "y": 1557
}, },
{ {
"x": 1095.666015625, "x": 1095.666015625,
"y": 1895 "y": 1894
} }
], ],
"animated": false, "animated": false,
@ -714,28 +714,28 @@
"link": "", "link": "",
"route": [ "route": [
{ {
"x": 1037, "x": 1036,
"y": 406 "y": 405
}, },
{ {
"x": 1036.75, "x": 1036.448974609375,
"y": 446 "y": 445
}, },
{ {
"x": 2303.5, "x": 2303.5,
"y": 446 "y": 445
}, },
{ {
"x": 2303.5, "x": 2303.5,
"y": 1855 "y": 1854
}, },
{ {
"x": 1986.8330078125, "x": 1986.8330078125,
"y": 1855 "y": 1854
}, },
{ {
"x": 1986.8330078125, "x": 1986.8330078125,
"y": 1895 "y": 1894
} }
], ],
"animated": false, "animated": false,
@ -770,19 +770,19 @@
"route": [ "route": [
{ {
"x": 1249.3330078125, "x": 1249.3330078125,
"y": 1558 "y": 1557
}, },
{ {
"x": 1249.3330078125, "x": 1249.3330078125,
"y": 1855 "y": 1854
}, },
{ {
"x": 1866.8330078125, "x": 1866.8330078125,
"y": 1855 "y": 1854
}, },
{ {
"x": 1866.8330078125, "x": 1866.8330078125,
"y": 1895 "y": 1894
} }
], ],
"animated": false, "animated": false,
@ -817,19 +817,19 @@
"route": [ "route": [
{ {
"x": 1863, "x": 1863,
"y": 1207 "y": 1206
}, },
{ {
"x": 1863, "x": 1863,
"y": 1354 "y": 1353
}, },
{ {
"x": 1287.75, "x": 1287.75,
"y": 1354 "y": 1353
}, },
{ {
"x": 1287.75, "x": 1287.75,
"y": 1394 "y": 1393
} }
], ],
"animated": false, "animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -89,7 +89,7 @@
.d2-1864249435 .color-AA4{color:#EDF0FD;} .d2-1864249435 .color-AA4{color:#EDF0FD;}
.d2-1864249435 .color-AA5{color:#F7F8FE;} .d2-1864249435 .color-AA5{color:#F7F8FE;}
.d2-1864249435 .color-AB4{color:#EDF0FD;} .d2-1864249435 .color-AB4{color:#EDF0FD;}
.d2-1864249435 .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-d2-1864249435);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1864249435);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1864249435);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1864249435);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1864249435);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1864249435);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1864249435);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="YQ=="><g class="shape" ><path d="M 0 78 C 0 74 4 72 6 72 H 173 C 177 72 179 76 179 78 V 91 C 179 95 175 97 173 97 H 6 C 2 97 -0 93 -0 91 Z" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B3" style="stroke-width:2;" /><path d="M 90 0 C 112 0 130 18 130 40 C 130 61 112 79 90 79 C 68 79 50 61 50 40 C 50 18 68 0 90 0" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B3" style="stroke-width:2;" /></g><text x="90.000000" y="89.640000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">c4-person</text></g><mask id="d2-1864249435" maskUnits="userSpaceOnUse" x="-1" y="-24" width="182" height="122"> .d2-1864249435 .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-d2-1864249435);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1864249435);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1864249435);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1864249435);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1864249435);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1864249435);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1864249435);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1864249435);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="YQ=="><g class="shape" ><path d="M 0 78 C 0 75 3 72 6 72 H 174 C 177 72 180 75 180 78 V 91 C 180 94 177 97 174 97 H 6 C 3 97 0 94 0 91 Z" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B3" style="stroke-width:2;" /><path d="M 90 0 C 112 0 130 18 130 40 C 130 62 112 80 90 80 C 68 80 50 62 50 40 C 50 18 68 0 90 0" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B3" style="stroke-width:2;" /></g><text x="90.000000" y="90.000000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">c4-person</text></g><mask id="d2-1864249435" maskUnits="userSpaceOnUse" x="-1" y="-24" width="182" height="122">
<rect x="-1" y="-24" width="182" height="122" fill="white"></rect> <rect x="-1" y="-24" width="182" height="122" fill="white"></rect>
<rect x="54.500000" y="73.640000" width="71" height="21" fill="rgba(0,0,0,0.75)"></rect> <rect x="54.500000" y="74.000000" width="71" height="21" fill="rgba(0,0,0,0.75)"></rect>
</mask></svg></svg> </mask></svg></svg>

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

View file

@ -89,7 +89,7 @@
.d2-1736778707 .color-AA4{color:#EDF0FD;} .d2-1736778707 .color-AA4{color:#EDF0FD;}
.d2-1736778707 .color-AA5{color:#F7F8FE;} .d2-1736778707 .color-AA5{color:#F7F8FE;}
.d2-1736778707 .color-AB4{color:#EDF0FD;} .d2-1736778707 .color-AB4{color:#EDF0FD;}
.d2-1736778707 .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-d2-1736778707);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1736778707);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1736778707);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1736778707);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1736778707);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1736778707);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1736778707);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="YQ=="><g class="shape" ><path d="M 12 90 C 12 86 16 84 18 84 H 185 C 189 84 191 88 191 90 V 103 C 191 107 187 109 185 109 H 18 C 14 109 12 105 12 103 Z" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B3" style="stroke-width:2;" /><path d="M 102 12 C 124 12 142 30 142 52 C 142 73 124 91 102 91 C 80 91 62 73 62 52 C 62 30 80 12 102 12" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B3" style="stroke-width:2;" /></g><text x="102.000000" y="101.640000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">c4-person</text></g><mask id="d2-1736778707" maskUnits="userSpaceOnUse" x="11" y="-12" width="182" height="122"> .d2-1736778707 .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-d2-1736778707);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1736778707);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1736778707);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1736778707);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1736778707);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1736778707);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1736778707);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1736778707);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="YQ=="><g class="shape" ><path d="M 12 90 C 12 87 15 84 18 84 H 186 C 189 84 192 87 192 90 V 103 C 192 106 189 109 186 109 H 18 C 15 109 12 106 12 103 Z" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B3" style="stroke-width:2;" /><path d="M 102 12 C 124 12 142 30 142 52 C 142 74 124 92 102 92 C 80 92 62 74 62 52 C 62 30 80 12 102 12" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B3" style="stroke-width:2;" /></g><text x="102.000000" y="102.000000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">c4-person</text></g><mask id="d2-1736778707" maskUnits="userSpaceOnUse" x="11" y="-12" width="182" height="122">
<rect x="11" y="-12" width="182" height="122" fill="white"></rect> <rect x="11" y="-12" width="182" height="122" fill="white"></rect>
<rect x="66.500000" y="85.640000" width="71" height="21" fill="rgba(0,0,0,0.75)"></rect> <rect x="66.500000" y="86.000000" width="71" height="21" fill="rgba(0,0,0,0.75)"></rect>
</mask></svg></svg> </mask></svg></svg>

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

View file

@ -38,21 +38,21 @@ func (s shapeC4Person) GetInnerBox() *geo.Box {
width := s.Box.Width width := s.Box.Width
height := s.Box.Height height := s.Box.Height
headRadius := width * HEAD_RADIUS_FACTOR headRadius := math.Round(width * HEAD_RADIUS_FACTOR)
headCenterY := headRadius headCenterY := headRadius
bodyTop := headCenterY + headRadius*BODY_TOP_FACTOR bodyTop := math.Round(headCenterY + headRadius*BODY_TOP_FACTOR)
// Horizontal padding = 5% of width // Horizontal padding = 5% of width
horizontalPadding := width * 0.05 horizontalPadding := math.Round(width * 0.05)
// Vertical padding = 3% of height // Vertical padding = 3% of height
verticalPadding := height * 0.03 verticalPadding := math.Round(height * 0.03)
tl := s.Box.TopLeft.Copy() tl := s.Box.TopLeft.Copy()
tl.X += horizontalPadding tl.X += horizontalPadding
tl.Y += bodyTop + verticalPadding tl.Y += bodyTop + verticalPadding
innerWidth := width - (horizontalPadding * 2) innerWidth := math.Round(width - (horizontalPadding * 2))
innerHeight := height - bodyTop - (verticalPadding * 2) innerHeight := math.Round(height - bodyTop - (verticalPadding * 2))
return geo.NewBox(tl, innerWidth, innerHeight) return geo.NewBox(tl, innerWidth, innerHeight)
} }
@ -63,15 +63,14 @@ func bodyPath(box *geo.Box) *svg.SvgPathContext {
pc := svg.NewSVGPathContext(box.TopLeft, 1, 1) pc := svg.NewSVGPathContext(box.TopLeft, 1, 1)
headRadius := width * HEAD_RADIUS_FACTOR headRadius := math.Round(width * HEAD_RADIUS_FACTOR)
headCenterY := headRadius headCenterY := headRadius
bodyTop := headCenterY + headRadius*BODY_TOP_FACTOR bodyTop := math.Round(headCenterY + headRadius*BODY_TOP_FACTOR)
bodyWidth := width bodyWidth := width
bodyHeight := height - bodyTop bodyHeight := math.Round(height - bodyTop)
bodyLeft := 0 bodyLeft := 0
// Use the same corner radius calculation as frontend cornerRadius := math.Round(math.Min(width*CORNER_RADIUS_FACTOR, bodyHeight*0.25))
cornerRadius := math.Min(width*CORNER_RADIUS_FACTOR, bodyHeight*0.25)
pc.StartAt(pc.Absolute(float64(bodyLeft), bodyTop+cornerRadius)) pc.StartAt(pc.Absolute(float64(bodyLeft), bodyTop+cornerRadius))
@ -92,8 +91,8 @@ func headPath(box *geo.Box) *svg.SvgPathContext {
pc := svg.NewSVGPathContext(box.TopLeft, 1, 1) pc := svg.NewSVGPathContext(box.TopLeft, 1, 1)
headRadius := width * HEAD_RADIUS_FACTOR headRadius := math.Round(width * HEAD_RADIUS_FACTOR)
headCenterX := width / 2 headCenterX := math.Round(width / 2)
headCenterY := headRadius headCenterY := headRadius
pc.StartAt(pc.Absolute(headCenterX, headCenterY-headRadius)) pc.StartAt(pc.Absolute(headCenterX, headCenterY-headRadius))
@ -126,8 +125,8 @@ func (s shapeC4Person) Perimeter() []geo.Intersectable {
bodyPerimeter := bodyPath(s.Box).Path bodyPerimeter := bodyPath(s.Box).Path
headRadius := width * HEAD_RADIUS_FACTOR headRadius := math.Round(width * HEAD_RADIUS_FACTOR)
headCenterX := s.Box.TopLeft.X + width/2 headCenterX := s.Box.TopLeft.X + math.Round(width/2)
headCenterY := s.Box.TopLeft.Y + headRadius headCenterY := s.Box.TopLeft.Y + headRadius
headCenter := geo.NewPoint(headCenterX, headCenterY) headCenter := geo.NewPoint(headCenterX, headCenterY)
@ -148,19 +147,19 @@ func (s shapeC4Person) GetDimensionsToFit(width, height, paddingX, paddingY floa
contentHeight := height + paddingY contentHeight := height + paddingY
// Account for 10% total horizontal padding (5% on each side) // Account for 10% total horizontal padding (5% on each side)
totalWidth := contentWidth / 0.9 totalWidth := math.Round(contentWidth / 0.9)
headRadius := totalWidth * HEAD_RADIUS_FACTOR headRadius := math.Round(totalWidth * HEAD_RADIUS_FACTOR)
// Use positioning matching frontend // Use positioning matching frontend
headCenterY := headRadius headCenterY := headRadius
bodyTop := headCenterY + headRadius*BODY_TOP_FACTOR bodyTop := math.Round(headCenterY + headRadius*BODY_TOP_FACTOR)
// Include vertical padding // Include vertical padding
verticalPadding := totalWidth * 0.06 // 3% top + 3% bottom verticalPadding := math.Round(totalWidth * 0.06) // 3% top + 3% bottom
totalHeight := contentHeight + bodyTop + verticalPadding totalHeight := math.Round(contentHeight + bodyTop + verticalPadding)
// Calculate minimum height // Calculate minimum height
minHeight := totalWidth * 0.95 minHeight := math.Round(totalWidth * 0.95)
if totalHeight < minHeight { if totalHeight < minHeight {
totalHeight = minHeight totalHeight = minHeight
} }