vector_salad 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.yardopts +1 -0
- data/README.md +6 -5
- data/examples/birthday.png +0 -0
- data/examples/birthday.svg +604 -604
- data/examples/bunny_card.png +0 -0
- data/examples/bunny_card.svg +110 -110
- data/examples/circles.png +0 -0
- data/examples/circles.svg +2 -2
- data/examples/rects.rb +4 -4
- data/examples/squares.png +0 -0
- data/examples/squares.rb +4 -4
- data/examples/squares.svg +6 -6
- data/lib/contracts_contracts.rb +4 -4
- data/lib/vector_salad/canvas.rb +17 -0
- data/lib/vector_salad/dsl.rb +29 -28
- data/lib/vector_salad/export_with_magic.rb +1 -0
- data/lib/vector_salad/exporters/base_exporter.rb +1 -0
- data/lib/vector_salad/exporters/svg_exporter.rb +30 -22
- data/lib/vector_salad/interpolate.rb +13 -12
- data/lib/vector_salad/magic.rb +4 -3
- data/lib/vector_salad/mixins/at.rb +1 -0
- data/lib/vector_salad/mixins/mixins.rb +5 -0
- data/lib/vector_salad/monkeypatches.rb +4 -0
- data/lib/vector_salad/shape_proxy.rb +1 -0
- data/lib/vector_salad/standard_shapes/basic_shape.rb +25 -17
- data/lib/vector_salad/standard_shapes/circle.rb +9 -3
- data/lib/vector_salad/standard_shapes/clip.rb +10 -9
- data/lib/vector_salad/standard_shapes/custom.rb +23 -4
- data/lib/vector_salad/standard_shapes/difference.rb +5 -6
- data/lib/vector_salad/standard_shapes/exclusion.rb +5 -6
- data/lib/vector_salad/standard_shapes/flip.rb +8 -2
- data/lib/vector_salad/standard_shapes/heart.rb +3 -1
- data/lib/vector_salad/standard_shapes/hexagon.rb +3 -2
- data/lib/vector_salad/standard_shapes/intersection.rb +5 -6
- data/lib/vector_salad/standard_shapes/iso_tri.rb +3 -2
- data/lib/vector_salad/standard_shapes/jitter.rb +10 -7
- data/lib/vector_salad/standard_shapes/move.rb +7 -1
- data/lib/vector_salad/standard_shapes/multi_path.rb +17 -6
- data/lib/vector_salad/standard_shapes/n.rb +6 -3
- data/lib/vector_salad/standard_shapes/oval.rb +3 -1
- data/lib/vector_salad/standard_shapes/path.rb +28 -14
- data/lib/vector_salad/standard_shapes/pentagon.rb +2 -1
- data/lib/vector_salad/standard_shapes/polygon.rb +3 -1
- data/lib/vector_salad/standard_shapes/rect.rb +3 -1
- data/lib/vector_salad/standard_shapes/rotate.rb +3 -5
- data/lib/vector_salad/standard_shapes/scale.rb +8 -7
- data/lib/vector_salad/standard_shapes/square.rb +6 -21
- data/lib/vector_salad/standard_shapes/standard_shapes.rb +6 -0
- data/lib/vector_salad/standard_shapes/transform.rb +6 -5
- data/lib/vector_salad/standard_shapes/triangle.rb +3 -2
- data/lib/vector_salad/standard_shapes/union.rb +5 -6
- data/lib/vector_salad/version.rb +1 -1
- data/lib/vector_salad.rb +1 -1
- metadata +4 -2
data/examples/bunny_card.png
CHANGED
Binary file
|
data/examples/bunny_card.svg
CHANGED
@@ -1,85 +1,85 @@
|
|
1
1
|
<svg version="1.1"
|
2
2
|
xmlns="http://www.w3.org/2000/svg"
|
3
|
-
width="
|
4
|
-
height="
|
3
|
+
width="600"
|
4
|
+
height="800">
|
5
5
|
|
6
6
|
<rect x="0" y="0" width="600" height="800" fill="skyblue"/>
|
7
7
|
<circle cx="0" cy="0" r="200" fill="yellow"/>
|
8
|
-
<path d="M 0.0 800.0 L 8.0 800.0 C
|
9
|
-
<path d="M 8.0 800.0 L 16.0 800.0 C
|
10
|
-
<path d="M 16.0 800.0 L 24.0 800.0 C 28.
|
11
|
-
<path d="M 24.0 800.0 L 32.0 800.0 C
|
12
|
-
<path d="M 32.0 800.0 L 40.0 800.0 C
|
13
|
-
<path d="M 40.0 800.0 L 48.0 800.0 C
|
14
|
-
<path d="M 48.0 800.0 L 56.0 800.0 C
|
15
|
-
<path d="M 56.0 800.0 L 64.0 800.0 C
|
16
|
-
<path d="M 64.0 800.0 L 72.0 800.0 C
|
17
|
-
<path d="M 72.0 800.0 L 80.0 800.0 C
|
18
|
-
<path d="M 80.0 800.0 L 88.0 800.0 C
|
19
|
-
<path d="M 88.0 800.0 L 96.0 800.0 C
|
20
|
-
<path d="M 96.0 800.0 L 104.0 800.0 C
|
21
|
-
<path d="M 104.0 800.0 L 112.0 800.0 C
|
22
|
-
<path d="M 112.0 800.0 L 120.0 800.0 C
|
23
|
-
<path d="M 120.0 800.0 L 128.0 800.0 C
|
24
|
-
<path d="M 128.0 800.0 L 136.0 800.0 C
|
25
|
-
<path d="M 136.0 800.0 L 144.0 800.0 C
|
26
|
-
<path d="M 144.0 800.0 L 152.0 800.0 C
|
27
|
-
<path d="M 152.0 800.0 L 160.0 800.0 C 159.
|
28
|
-
<path d="M 160.0 800.0 L 168.0 800.0 C
|
29
|
-
<path d="M 168.0 800.0 L 176.0 800.0 C
|
30
|
-
<path d="M 176.0 800.0 L 184.0 800.0 C
|
31
|
-
<path d="M 184.0 800.0 L 192.0 800.0 C
|
32
|
-
<path d="M 192.0 800.0 L 200.0 800.0 C
|
33
|
-
<path d="M 200.0 800.0 L 208.0 800.0 C
|
34
|
-
<path d="M 208.0 800.0 L 216.0 800.0 C
|
35
|
-
<path d="M 216.0 800.0 L 224.0 800.0 C
|
36
|
-
<path d="M 224.0 800.0 L 232.0 800.0 C
|
37
|
-
<path d="M 232.0 800.0 L 240.0 800.0 C
|
38
|
-
<path d="M 240.0 800.0 L 248.0 800.0 C
|
39
|
-
<path d="M 248.0 800.0 L 256.0 800.0 C
|
40
|
-
<path d="M 256.0 800.0 L 264.0 800.0 C
|
41
|
-
<path d="M 264.0 800.0 L 272.0 800.0 C 278.
|
42
|
-
<path d="M 272.0 800.0 L 280.0 800.0 C
|
43
|
-
<path d="M 280.0 800.0 L 288.0 800.0 C
|
44
|
-
<path d="M 288.0 800.0 L 296.0 800.0 C
|
45
|
-
<path d="M 296.0 800.0 L 304.0 800.0 C
|
46
|
-
<path d="M 304.0 800.0 L 312.0 800.0 C 311.
|
47
|
-
<path d="M 312.0 800.0 L 320.0 800.0 C
|
48
|
-
<path d="M 320.0 800.0 L 328.0 800.0 C
|
49
|
-
<path d="M 328.0 800.0 L 336.0 800.0 C
|
50
|
-
<path d="M 336.0 800.0 L 344.0 800.0 C
|
51
|
-
<path d="M 344.0 800.0 L 352.0 800.0 C
|
52
|
-
<path d="M 352.0 800.0 L 360.0 800.0 C
|
53
|
-
<path d="M 360.0 800.0 L 368.0 800.0 C
|
54
|
-
<path d="M 368.0 800.0 L 376.0 800.0 C
|
55
|
-
<path d="M 376.0 800.0 L 384.0 800.0 C
|
56
|
-
<path d="M 384.0 800.0 L 392.0 800.0 C
|
57
|
-
<path d="M 392.0 800.0 L 400.0 800.0 C
|
58
|
-
<path d="M 400.0 800.0 L 408.0 800.0 C
|
59
|
-
<path d="M 408.0 800.0 L 416.0 800.0 C
|
60
|
-
<path d="M 416.0 800.0 L 424.0 800.0 C
|
61
|
-
<path d="M 424.0 800.0 L 432.0 800.0 C
|
62
|
-
<path d="M 432.0 800.0 L 440.0 800.0 C
|
63
|
-
<path d="M 440.0 800.0 L 448.0 800.0 C
|
64
|
-
<path d="M 448.0 800.0 L 456.0 800.0 C 452.
|
65
|
-
<path d="M 456.0 800.0 L 464.0 800.0 C
|
66
|
-
<path d="M 464.0 800.0 L 472.0 800.0 C
|
67
|
-
<path d="M 472.0 800.0 L 480.0 800.0 C
|
68
|
-
<path d="M 480.0 800.0 L 488.0 800.0 C
|
69
|
-
<path d="M 488.0 800.0 L 496.0 800.0 C
|
70
|
-
<path d="M 496.0 800.0 L 504.0 800.0 C
|
71
|
-
<path d="M 504.0 800.0 L 512.0 800.0 C
|
72
|
-
<path d="M 512.0 800.0 L 520.0 800.0 C
|
73
|
-
<path d="M 520.0 800.0 L 528.0 800.0 C
|
74
|
-
<path d="M 528.0 800.0 L 536.0 800.0 C
|
75
|
-
<path d="M 536.0 800.0 L 544.0 800.0 C
|
76
|
-
<path d="M 544.0 800.0 L 552.0 800.0 C
|
77
|
-
<path d="M 552.0 800.0 L 560.0 800.0 C
|
78
|
-
<path d="M 560.0 800.0 L 568.0 800.0 C
|
79
|
-
<path d="M 568.0 800.0 L 576.0 800.0 C 573.
|
80
|
-
<path d="M 576.0 800.0 L 584.0 800.0 C
|
81
|
-
<path d="M 584.0 800.0 L 592.0 800.0 C
|
82
|
-
<path d="M 592.0 800.0 L 600.0 800.0 C
|
8
|
+
<path d="M 0.0 800.0 L 8.0 800.0 C 15.163520849410235 741.8250215432423, 20.83267926085269 683.4660378960405, 25.0 625.0 C 29.17580660590798 566.414908390875, 31.84365063887021 507.7223396657058, 33.0 449.0 C 27.84840159457876 507.68299885153317, 22.51503414822279 566.3500407614488, 17.0 625.0 C 11.513114441392311 683.3506113851784, 5.846411898683069 741.6843140307146, 0.0 800.0 Z" fill="green"/>
|
9
|
+
<path d="M 8.0 800.0 L 16.0 800.0 C 19.157753595243175 743.3902859799091, 20.82519001654252 686.6974476557317, 21.0 630.0 C 21.175810585172574 572.9780196016651, 19.841854377981026 515.951391744226, 17.0 459.0 C 15.838608480994589 516.0038490553599, 14.50526705967117 573.0041948169364, 13.0 630.0 C 11.503298002083014 686.6714955610694, 9.836621340154363 743.3385020666435, 8.0 800.0 Z" fill="green"/>
|
10
|
+
<path d="M 16.0 800.0 L 24.0 800.0 C 28.48979982507761 766.1534417095398, 31.493650221553782 732.10980388281, 33.0 698.0 C 34.51523671267285 663.6889602635208, 34.51523671267285 629.3110397364792, 33.0 595.0 C 30.514289734429028 629.3470684534964, 27.84757369632869 663.6810374440382, 25.0 698.0 C 22.17761730995839 732.0153605095502, 19.177562745468247 766.0159789071051, 16.0 800.0 Z" fill="green"/>
|
11
|
+
<path d="M 24.0 800.0 L 32.0 800.0 C 36.99398683612969 763.4822822635022, 40.66386477274141 726.783502897385, 43.0 690.0 C 45.34653476594693 653.0527516751198, 46.347418382316974 616.0200578694279, 46.0 579.0 C 42.34991063849232 616.0016402960282, 38.683243481153134 653.0016452473601, 35.0 690.0 C 31.349614739565357 726.6682923734071, 27.682947590941698 763.3349638596436, 24.0 800.0 Z" fill="green"/>
|
12
|
+
<path d="M 32.0 800.0 L 40.0 800.0 C 42.14954029693848 757.04004766603, 42.816735747421866 714.0059411098516, 42.0 671.0 C 41.1758366875168 627.6029539010187, 38.840618792937136 584.2346215731106, 35.0 541.0 C 34.83654112121071 584.3344180715433, 34.503204372873846 627.6681953553343, 34.0 671.0 C 33.50062121482869 714.0023766271175, 32.83394782160994 757.0028104897265, 32.0 800.0 Z" fill="green"/>
|
13
|
+
<path d="M 40.0 800.0 L 48.0 800.0 C 47.82094643658459 757.9585438290525, 46.15288703488437 715.9234469062067, 43.0 674.0 C 39.8301980383499 631.8516379521027, 35.15958975524565 589.8161634041645, 29.0 548.0 C 31.166367138197824 589.9918575624301, 33.16638806150447 631.9922969518698, 35.0 674.0 C 36.83297803565987 715.9931804539419, 38.499662126361734 757.9936195396286, 40.0 800.0 Z" fill="green"/>
|
14
|
+
<path d="M 48.0 800.0 L 56.0 800.0 C 59.1660384551886 743.0570067555415, 60.833474375000556 686.0306982979728, 61.0 629.0 C 61.16650001180044 571.9780735569593, 59.8325514652544 514.9517731921154, 57.0 458.0 C 55.83320850744591 515.0037334342128, 54.49986758615408 572.0040578194387, 53.0 629.0 C 51.4999017372774 686.0047080399498, 49.83322558274486 743.0050325249631, 48.0 800.0 Z" fill="green"/>
|
15
|
+
<path d="M 56.0 800.0 L 64.0 800.0 C 65.97879570460277 769.7144477681969, 66.64629463302605 739.3432465249377, 66.0 709.0 C 65.34536793256407 678.2653146254155, 63.34280630461073 647.5593696634644, 60.0 617.0 C 59.33701458814338 647.6667465465754, 58.67034791507236 678.3334135078424, 58.0 709.0 C 57.33693501459393 739.333412348544, 56.67026834166131 769.666745966978, 56.0 800.0 Z" fill="green"/>
|
16
|
+
<path d="M 64.0 800.0 L 72.0 800.0 C 72.47997965633058 741.6538124003478, 71.47955063451889 683.2954527946663, 69.0 625.0 C 66.50085381389222 566.243846166713, 62.49911049427151 507.5516108122759, 57.0 449.0 C 58.497549495959795 507.6627811741313, 59.83088979419651 566.329754296547, 61.0 625.0 C 62.16233816376226 683.3303997518046, 63.16234332709899 741.6640342797806, 64.0 800.0 Z" fill="green"/>
|
17
|
+
<path d="M 72.0 800.0 L 80.0 800.0 C 85.82708243123037 760.1806877666226, 90.16445575610554 720.1433955370055, 93.0 680.0 C 95.8206089508849 640.0680465436584, 97.15517229685352 600.0311461645996, 97.0 560.0 C 93.1648285685743 600.016254251549, 89.16478330019639 640.0167069353281, 85.0 680.0 C 80.83163874782215 720.0176425835626, 76.4982562894483 760.0180960454751, 72.0 800.0 Z" fill="green"/>
|
18
|
+
<path d="M 80.0 800.0 L 88.0 800.0 C 93.33021114294252 749.7841881982808, 97.33207635198164 699.4273843178721, 100.0 649.0 C 102.67808074289722 598.3806327790977, 104.01204055585615 547.690159886659, 104.0 497.0 C 100.01320571135355 547.6677080683831, 96.01320553020214 598.3343770296343, 92.0 649.0 C 88.01303305993078 699.3343679412015, 84.01303288114039 749.667703524314, 80.0 800.0 Z" fill="green"/>
|
19
|
+
<path d="M 88.0 800.0 L 96.0 800.0 C 93.28324877139491 770.1790793786782, 89.27827800896239 740.4755462239702, 84.0 711.0 C 78.63855171089594 681.0600050613895, 71.96333726704744 651.3553007862637, 64.0 622.0 L 76.0 711.0 L 88.0 800.0 Z" fill="green"/>
|
20
|
+
<path d="M 96.0 800.0 L 104.0 800.0 C 109.66142966343072 756.4787544471841, 113.99744088217679 712.7851029352045, 117.0 669.0 C 119.99005468869714 625.3972440877669, 121.65774274994118 581.7038168831734, 122.0 538.0 L 109.0 669.0 L 96.0 800.0 Z" fill="green"/>
|
21
|
+
<path d="M 104.0 800.0 L 112.0 800.0 C 117.49774088200056 741.1142887884804, 121.49946138527159 682.0889113652329, 124.0 623.0 C 126.49516880654728 564.0379797444639, 127.49559708691308 505.01271120288294, 127.0 446.0 C 123.49927830574296 505.0101568011963, 119.83259230364021 564.0104679259405, 116.0 623.0 C 112.16600652394335 682.0110982879044, 108.16598541531444 741.0114096401809, 104.0 800.0 Z" fill="green"/>
|
22
|
+
<path d="M 112.0 800.0 L 120.0 800.0 C 117.31373984494185 751.9025726988002, 113.31174519348605 703.8786368813307, 108.0 656.0 C 102.65578341433618 607.8286747575978, 95.98575155706745 559.8044453852629, 88.0 512.0 L 100.0 656.0 L 112.0 800.0 Z" fill="green"/>
|
23
|
+
<path d="M 120.0 800.0 L 128.0 800.0 C 131.49865511158217 762.7670936449007, 133.50080699478667 725.3935918250834, 134.0 688.0 C 134.49865672946422 650.6465795640557, 133.497583098605 613.2731640119781, 131.0 576.0 C 129.49957260927752 613.340507524746, 127.832883914652 650.6743342843579, 126.0 688.0 C 124.16631421379668 725.3419953856403, 122.16628775711203 762.6758225770869, 120.0 800.0 Z" fill="green"/>
|
24
|
+
<path d="M 128.0 800.0 L 136.0 800.0 C 142.82706419067182 755.8634300242611, 148.16444515013862 711.4964507986934, 152.0 667.0 C 155.8419641213334 622.4291949438723, 158.177074214686 577.7285160139795, 159.0 533.0 C 154.1848619146098 577.6871020190127, 149.1848048360584 622.3542785874054, 144.0 667.0 C 138.84895616907605 711.3550095193795, 133.51556274226704 755.6888423797295, 128.0 800.0 Z" fill="green"/>
|
25
|
+
<path d="M 136.0 800.0 L 144.0 800.0 C 148.66292489885566 747.42873067289, 151.9976760936594 694.7396617949908, 154.0 642.0 C 156.01113409127146 589.0282847534503, 156.67808683125423 536.0055419248205, 156.0 483.0 C 152.6772064233106 536.0006621763616, 149.34387300209661 589.000663573664, 146.0 642.0 C 142.67707452500613 694.6673247035455, 139.34374110488974 747.3339927413846, 136.0 800.0 Z" fill="green"/>
|
26
|
+
<path d="M 144.0 800.0 L 152.0 800.0 C 156.16544826425135 754.4373282661664, 158.8340324612254 708.7378238929855, 160.0 663.0 C 161.16401501224317 617.338768560639, 160.83044278977968 571.6393740831419, 159.0 526.0 C 156.83281179862033 571.6749538422711, 154.49945787754538 617.3420234404527, 152.0 663.0 C 149.49954614612003 708.6761702104778, 146.8328559318506 754.3432401298417, 144.0 800.0 Z" fill="green"/>
|
27
|
+
<path d="M 152.0 800.0 L 160.0 800.0 C 159.62455518316276 766.2859400830002, 157.95625601995246 732.5862969861525, 155.0 699.0 C 151.99397993669925 664.8483291328821, 147.6562579960005 630.8138954443228, 142.0 597.0 C 143.65839533535706 631.0004047850762, 145.32506206778152 665.0004061265346, 147.0 699.0 C 148.65855652987597 732.6670675057653, 150.32522326102043 766.3337354748834, 152.0 800.0 Z" fill="green"/>
|
28
|
+
<path d="M 160.0 800.0 L 168.0 800.0 C 166.76958412842848 766.240079265028, 164.0996888667895 732.5326515868359, 160.0 699.0 C 155.8156626645151 664.7749818213681, 150.14184895680026 630.7320995750792, 143.0 597.0 C 146.15318375617056 630.9862518817833, 149.15322436432947 664.9867121075843, 152.0 699.0 C 154.81675107571874 732.6545543172485, 157.48345308113855 766.3216671356737, 160.0 800.0 Z" fill="green"/>
|
29
|
+
<path d="M 168.0 800.0 L 176.0 800.0 C 178.99125093574912 752.7256868566847, 180.65878834670087 705.3676243856551, 181.0 658.0 C 181.3434778962058 610.3177716383882, 180.3429484862992 562.6258697661747, 178.0 515.0 C 176.33921521079853 562.6668720844893, 174.6725485272135 610.3335392350216, 173.0 658.0 C 171.3391332844632 705.3335373197742, 169.67246660111368 752.666871126901, 168.0 800.0 Z" fill="green"/>
|
30
|
+
<path d="M 176.0 800.0 L 184.0 800.0 C 186.32414378062427 742.0329128200774, 187.3244913585047 684.0127533030111, 187.0 626.0 C 186.67355874339003 567.6386427826423, 185.006305797002 509.2847896590608, 182.0 451.0 C 181.0028809437845 509.3333826734995, 180.0028809421584 567.666716101688, 179.0 626.0 C 178.00284811760702 684.0000490588427, 177.00284811599946 742.0000491520815, 176.0 800.0 Z" fill="green"/>
|
31
|
+
<path d="M 184.0 800.0 L 192.0 800.0 C 198.32821758391816 745.7998268503698, 203.3302126345095 691.444813967277, 207.0 637.0 C 210.6577123641058 582.7343302551448, 212.9919706040396 528.379459810972, 214.0 474.0 L 199.0 637.0 L 184.0 800.0 Z" fill="green"/>
|
32
|
+
<path d="M 192.0 800.0 L 200.0 800.0 C 203.99879463152288 755.760202500752, 206.66706845615903 711.4001501661761, 208.0 667.0 C 209.33052602618721 622.6799779886027, 209.3305260261872 578.3200220113973, 208.0 534.0 L 200.0 667.0 L 192.0 800.0 Z" fill="green"/>
|
33
|
+
<path d="M 200.0 800.0 L 208.0 800.0 C 206.31243587972915 761.2464198035515, 203.31013557963817 722.550104824601, 199.0 684.0 C 194.65686460132267 645.154742862984, 188.98578612979313 606.4579721160766, 182.0 568.0 L 191.0 684.0 L 200.0 800.0 Z" fill="green"/>
|
34
|
+
<path d="M 208.0 800.0 L 216.0 800.0 C 220.66028263515307 763.4701415162984, 223.99653302931912 726.7713871804717, 226.0 690.0 C 228.01370899305834 653.0406319963531, 228.68096505264748 616.0079206891552, 228.0 579.0 C 224.68176273001902 616.0013579360217, 221.34842902677164 653.0013620420676, 218.0 690.0 C 214.6814930440663 726.6680125043144, 211.34815934740058 763.3346831676371, 208.0 800.0 Z" fill="green"/>
|
35
|
+
<path d="M 216.0 800.0 L 224.0 800.0 C 229.99097115693792 763.1831304497936, 234.66163575264287 726.1514325838473, 238.0 689.0 C 241.31695002571203 652.0868784430018, 243.3186415110424 615.0555859643903, 244.0 578.0 L 230.0 689.0 L 216.0 800.0 Z" fill="green"/>
|
36
|
+
<path d="M 224.0 800.0 L 232.0 800.0 C 237.82948216658005 749.1418852355783, 242.165306006381 698.1125738902288, 245.0 647.0 C 247.82547908288626 596.0535808364466, 249.15957375153764 545.0244597605318, 249.0 494.0 C 245.16553114291852 545.012802674903, 241.16550305533235 596.0131607916264, 237.0 647.0 C 232.8322868159576 698.0138917577708, 228.4989230221082 749.0142502546138, 224.0 800.0 Z" fill="green"/>
|
37
|
+
<path d="M 232.0 800.0 L 240.0 800.0 C 237.98883891085114 743.2658681931917, 234.65429685433315 686.5786532323857, 230.0 630.0 C 225.3277592353577 573.203216658859, 219.32556672451972 516.5158429453893, 212.0 460.0 L 222.0 630.0 L 232.0 800.0 Z" fill="green"/>
|
38
|
+
<path d="M 240.0 800.0 L 248.0 800.0 C 246.9713233904369 747.9523830245262, 244.63701155046036 695.9305763050489, 241.0 644.0 C 237.32669467338104 591.5512079329025, 232.3245558148544 539.1954878803234, 226.0 487.0 C 228.32584581933693 539.3336668137404, 230.6591791845124 591.6670008612473, 233.0 644.0 C 235.32594080359976 696.0003313650566, 237.6592741683717 748.0003320656882, 240.0 800.0 Z" fill="green"/>
|
39
|
+
<path d="M 248.0 800.0 L 256.0 800.0 C 259.83205749660175 760.106236569971, 262.1675780034108 720.0687421675298, 263.0 680.0 C 263.8311241303683 639.9937307935194, 263.163834504297 599.9563532292361, 261.0 560.0 C 259.16615225077675 600.0080770143106, 257.1661292484597 640.0085370606512, 255.0 680.0 C 252.83289563705372 720.009465676203, 250.49953544351712 760.0099261368302, 248.0 800.0 Z" fill="green"/>
|
40
|
+
<path d="M 256.0 800.0 L 264.0 800.0 C 265.1319395541171 768.3405080590384, 264.79813051242354 736.628649098156, 263.0 705.0 C 261.17319047212703 672.8668944623018, 257.83494707774696 640.8197578762529, 253.0 609.0 C 253.83240751443063 640.9962607742377, 254.49908610473184 672.9968331086965, 255.0 705.0 C 255.4956159133081 736.664681170591, 255.8289550830135 768.3319022926056, 256.0 800.0 Z" fill="green"/>
|
41
|
+
<path d="M 264.0 800.0 L 272.0 800.0 C 278.83000904638 743.487513043181, 284.16582693371566 686.7944479902397, 288.0 630.0 C 291.8429758888834 573.0751584564111, 294.17740121177644 516.0484827114522, 295.0 459.0 C 290.1813524174936 516.015714331215, 285.18131868136584 573.0160989230709, 280.0 630.0 C 274.8460087658811 686.6833550873133, 269.51263982593235 743.350400074269, 264.0 800.0 Z" fill="green"/>
|
42
|
+
<path d="M 272.0 800.0 L 280.0 800.0 C 279.66002628630395 749.3012782235799, 277.9925981997392 698.6114643920108, 275.0 648.0 C 271.998098236719 597.2311917403896, 267.6627728827882 546.5412337559684, 262.0 496.0 L 267.0 648.0 L 272.0 800.0 Z" fill="green"/>
|
43
|
+
<path d="M 280.0 800.0 L 288.0 800.0 C 291.324675069262 758.0770529657648, 293.3260028394511 716.049169791793, 294.0 674.0 C 294.6786631213657 631.6597313874498, 294.01154771506833 589.297903087567, 292.0 547.0 C 290.0079499451702 589.3337084225357, 288.00794989814835 631.6670427511644, 286.0 674.0 C 284.0078253809383 716.0003721500838, 282.0078253346524 758.0003731220872, 280.0 800.0 Z" fill="green"/>
|
44
|
+
<path d="M 288.0 800.0 L 296.0 800.0 C 292.94434828762024 755.5541494392871, 288.6086198475782 711.1963123219341, 283.0 667.0 C 277.3073443876666 622.1414800394193, 270.3033585523797 577.4493799475883, 262.0 533.0 C 266.31713557466117 577.668236114668, 270.65046928788934 622.3349066971741, 275.0 667.0 C 279.3173753073192 711.3348912074132, 283.65070901495113 755.6682283701093, 288.0 800.0 Z" fill="green"/>
|
45
|
+
<path d="M 296.0 800.0 L 304.0 800.0 C 302.99270017516375 742.9560118301116, 300.6585254760018 685.93545846487, 297.0 629.0 C 293.3304971843028 571.8937077190536, 288.32868342160407 514.8730308242879, 282.0 458.0 L 289.0 629.0 L 296.0 800.0 Z" fill="green"/>
|
46
|
+
<path d="M 304.0 800.0 L 312.0 800.0 C 311.65229350660826 765.6195497826759, 309.9839889221164 731.2524753421434, 307.0 697.0 C 303.99586521695215 662.5162752722824, 299.6582155952689 628.1487436543304, 294.0 594.0 L 299.0 697.0 L 304.0 800.0 Z" fill="green"/>
|
47
|
+
<path d="M 312.0 800.0 L 320.0 800.0 C 317.5842107791381 769.5328516086146, 313.9134005043229 739.1652393351428, 309.0 709.0 C 303.9643635862993 678.0843078046668, 297.6235125274412 647.3812395196694, 290.0 617.0 C 293.6466996918767 647.6690496271461, 297.31336739475637 678.3357249603216, 301.0 709.0 C 304.647128355381 739.3356908511427, 308.31379603617256 769.6690325740542, 312.0 800.0 Z" fill="green"/>
|
48
|
+
<path d="M 320.0 800.0 L 328.0 800.0 C 332.16446917263204 766.139658246651, 334.8345943354556 732.09556242065, 336.0 698.0 C 337.16189119874457 664.0072581607989, 336.82812815720683 629.9634279239467, 335.0 596.0 C 332.83239483915156 630.0111030209048, 330.4990245549858 664.0116414473202, 328.0 698.0 C 325.49918303005376 732.0127365613835, 322.83247407326456 766.0132757604454, 320.0 800.0 Z" fill="green"/>
|
49
|
+
<path d="M 328.0 800.0 L 336.0 800.0 C 336.31228440237766 749.9852360160534, 335.3118253178474 699.9622817895421, 333.0 650.0 C 330.6670572368576 599.58133608489, 326.99867636584617 549.2244714010058, 322.0 499.0 C 322.99665692379125 549.3333996780225, 323.9966569267322 599.6667331593843, 325.0 650.0 C 325.9967010476201 700.0000659064647, 326.99670105052223 750.0000660515724, 328.0 800.0 Z" fill="green"/>
|
50
|
+
<path d="M 336.0 800.0 L 344.0 800.0 C 343.32207983667513 757.6179872175459, 341.3207805933852 715.2571532345772, 338.0 673.0 C 334.662820084098 630.5341642990427, 329.99309183170215 588.1730580094518, 324.0 546.0 L 330.0 673.0 L 336.0 800.0 Z" fill="green"/>
|
51
|
+
<path d="M 344.0 800.0 L 352.0 800.0 C 352.3247608464158 763.3131607325104, 351.32389109840256 726.6146033053582, 349.0 690.0 C 346.6653817364141 653.2163823643016, 342.9954964813759 616.5175298139194, 338.0 580.0 L 341.0 690.0 L 344.0 800.0 Z" fill="green"/>
|
52
|
+
<path d="M 352.0 800.0 L 360.0 800.0 C 367.4854742043753 758.2301429285263, 373.49049525618767 716.1949955658398, 378.0 674.0 C 382.4755416174186 632.1227940915613, 385.47801446680376 590.0881742001689, 387.0 548.0 C 381.49678523112914 590.0218372134448, 375.83006136838895 632.0222611372839, 370.0 674.0 C 364.16363047057683 716.0231590255352, 358.1635697789036 758.0235838672477, 352.0 800.0 Z" fill="green"/>
|
53
|
+
<path d="M 360.0 800.0 L 368.0 800.0 C 367.8259956041526 745.3014167122761, 366.1585009647135 690.6075925386731, 363.0 636.0 C 359.8314811436596 581.2192072786542, 355.16248142300793 526.5252105510206, 349.0 472.0 C 351.16648973241627 526.6604063227279, 353.16650210045935 581.32741104924, 355.0 636.0 C 356.83312342681216 690.661422647508, 358.49980039597176 745.3284272359438, 360.0 800.0 Z" fill="green"/>
|
54
|
+
<path d="M 368.0 800.0 L 376.0 800.0 C 382.48942687900717 762.2158441148305, 387.49456603468127 724.1767865317074, 391.0 686.0 C 394.4802751238531 648.0972119887384, 396.4823013816552 610.0587130904989, 397.0 572.0 C 392.497284523258 610.019895095386, 387.83055996377914 648.0203665082852, 383.0 686.0 C 378.1641334032093 724.0213561860537, 373.1640712388389 762.0218286352685, 368.0 800.0 Z" fill="green"/>
|
55
|
+
<path d="M 376.0 800.0 L 384.0 800.0 C 388.49719481099856 765.4846704516274, 391.50093506300044 730.7747830951611, 393.0 696.0 C 394.49347962893654 661.35478292404, 394.49347962893654 626.64521707596, 393.0 592.0 C 390.49884847043376 626.6791336901034, 387.8321412880915 661.3463270605523, 385.0 696.0 C 382.16564694833176 730.6807357600527, 379.1656012969771 765.3479299534837, 376.0 800.0 Z" fill="green"/>
|
56
|
+
<path d="M 384.0 800.0 L 392.0 800.0 C 396.16433405024486 767.1438872974534, 398.8346718830614 734.098456616349, 400.0 701.0 C 401.16159858489755 668.007472136821, 400.82780928880896 634.9623318240507, 399.0 602.0 C 396.83233744429884 635.0114355343061, 394.49896491445185 668.0119898849995, 392.0 701.0 C 389.4991330282427 734.0131185450025, 386.8324214973424 767.0136737398933, 384.0 800.0 Z" fill="green"/>
|
57
|
+
<path d="M 392.0 800.0 L 400.0 800.0 C 406.99239645717785 747.1529453369552, 412.66143115953724 694.1307972384169, 417.0 641.0 C 421.320883020292 588.0857861004768, 424.32212648572363 535.0638182111845, 426.0 482.0 L 409.0 641.0 L 392.0 800.0 Z" fill="green"/>
|
58
|
+
<path d="M 400.0 800.0 L 408.0 800.0 C 411.6660514560096 747.0698741934959, 414.00036913907445 694.0475153924511, 415.0 641.0 C 415.998683068824 588.0027811900783, 415.6652093806434 534.9804647693591, 414.0 482.0 L 407.0 641.0 L 400.0 800.0 Z" fill="green"/>
|
59
|
+
<path d="M 408.0 800.0 L 416.0 800.0 C 420.1647064426721 764.1319043120285, 422.8344581673075 728.0902560294516, 424.0 692.0 C 425.16240530484475 656.0068645456276, 424.8286884122202 619.9654401421773, 423.0 584.0 C 420.8324957096514 620.0104925366861, 418.49912937616926 656.0110016818393, 416.0 692.0 C 413.4992708965247 728.0120353741347, 410.8325664671037 764.0125451713192, 408.0 800.0 Z" fill="green"/>
|
60
|
+
<path d="M 416.0 800.0 L 424.0 800.0 C 429.8261618029857 762.8601719317076, 434.164129078666 725.4869154027699, 437.0 688.0 C 439.81874544606717 650.7394634629718, 441.15348743719363 613.3666877114304, 441.0 576.0 C 437.16456004387476 613.35072028187, 433.16450824887403 650.6845370352102, 429.0 688.0 C 424.83139094144786 725.3522076660904, 420.4980013863032 762.6860253719522, 416.0 800.0 Z" fill="green"/>
|
61
|
+
<path d="M 424.0 800.0 L 432.0 800.0 C 438.4943352626934 748.1581602464389, 443.497093256469 696.1294771111728, 447.0 644.0 C 450.48939935629915 592.0715368138585, 452.4904940617763 540.043074471452, 453.0 488.0 C 448.4985387744257 540.014649799572, 443.8318407116895 592.0149996414896, 439.0 644.0 C 434.165304191585 696.0157178869131, 429.16527051317365 748.0160681423907, 424.0 800.0 Z" fill="green"/>
|
62
|
+
<path d="M 432.0 800.0 L 440.0 800.0 C 442.4961767165359 770.4089798870251, 443.49787458271163 740.6919431904777, 443.0 711.0 C 442.5012778364628 681.257509296964, 440.4978705305205 651.5403009254866, 437.0 622.0 C 436.4998475928096 651.6700968890572, 435.833166925524 681.3373865832649, 435.0 711.0 C 434.1665702844747 740.6719693308736, 433.1665492702964 770.3392594181637, 432.0 800.0 Z" fill="green"/>
|
63
|
+
<path d="M 440.0 800.0 L 448.0 800.0 C 452.8294880648534 765.8339269622466, 456.16705384403514 731.4569994366747, 458.0 697.0 C 459.8244487358149 662.702740990161, 460.15820139806766 628.3262167781292, 459.0 594.0 C 456.16520934241106 628.3475021607848, 453.16516304611775 662.681365329475, 450.0 697.0 C 446.8320253606059 731.3491196853844, 443.4986404955177 765.6829837957927, 440.0 800.0 Z" fill="green"/>
|
64
|
+
<path d="M 448.0 800.0 L 456.0 800.0 C 452.5729733191018 767.5038640935853, 447.9017499542642 735.1389593514959, 442.0 703.0 C 435.9516071493484 670.0624724064223, 428.61075299222483 637.3623038883266, 420.0 605.0 C 424.64297841656065 637.6700448600964, 429.3096467190713 670.3367229776704, 434.0 703.0 C 438.64345457443886 735.3366778622416, 443.3101228443995 767.6700223041116, 448.0 800.0 Z" fill="green"/>
|
65
|
+
<path d="M 456.0 800.0 L 464.0 800.0 C 467.83274017643987 741.405772257826, 470.167090355521 682.713539183786, 471.0 624.0 C 471.8323052496742 565.3290658674192, 471.1653484771545 506.636869885685, 469.0 448.0 C 467.16642713085974 506.6721827710859, 465.16641640143604 565.3391641675152, 463.0 624.0 C 460.83312957209154 682.6731296705224, 458.4997837158499 741.3401111988844, 456.0 800.0 Z" fill="green"/>
|
66
|
+
<path d="M 464.0 800.0 L 472.0 800.0 C 470.9842412525271 761.2688251635504, 468.64910406568123 722.5722660672474, 465.0 684.0 C 461.32718570314313 645.1771087576514, 456.3232699043681 606.4801599137911, 450.0 568.0 L 457.0 684.0 L 464.0 800.0 Z" fill="green"/>
|
67
|
+
<path d="M 472.0 800.0 L 480.0 800.0 C 480.15554313426196 759.3026944315483, 478.8210191647662 718.5997133619262, 476.0 678.0 C 473.16452756799964 637.1922772370109, 468.8272849111351 596.4889230725895, 463.0 556.0 C 464.8331217795185 596.6596172195938, 466.4998070637843 637.3267381556807, 468.0 678.0 C 469.4997400604342 718.6609834667867, 470.8330882788558 759.3281041286464, 472.0 800.0 Z" fill="green"/>
|
68
|
+
<path d="M 480.0 800.0 L 488.0 800.0 C 490.3317842901354 763.0519964282223, 491.3326486456888 726.0200152727459, 491.0 689.0 C 490.6671355004787 651.9559626478635, 488.99902637086973 614.9239399705441, 486.0 578.0 L 483.0 689.0 L 480.0 800.0 Z" fill="green"/>
|
69
|
+
<path d="M 488.0 800.0 L 496.0 800.0 C 493.64941497021096 751.5788241282238, 489.9809383130737 703.221631829596, 485.0 655.0 C 479.99086843087946 606.5054226473487, 473.6543732567475 558.1479594763415, 466.0 510.0 L 477.0 655.0 L 488.0 800.0 Z" fill="green"/>
|
70
|
+
<path d="M 496.0 800.0 L 504.0 800.0 C 511.3077329111215 769.2722941932961, 517.3148910558612 738.2353104454746, 522.0 707.0 C 526.626225871876 676.1572590900564, 529.9634366083179 645.1211992411473, 532.0 614.0 L 514.0 707.0 L 496.0 800.0 Z" fill="green"/>
|
71
|
+
<path d="M 504.0 800.0 L 512.0 800.0 C 513.9990213649828 745.0269124629716, 514.6659489074796 690.0053902069976, 514.0 635.0 C 513.3336598133618 579.962291303459, 511.332876265898 524.9407437482043, 508.0 470.0 L 506.0 635.0 L 504.0 800.0 Z" fill="green"/>
|
72
|
+
<path d="M 512.0 800.0 L 520.0 800.0 C 523.9992071043258 745.4091973320075, 526.6669309652248 690.7208581835804, 528.0 636.0 C 529.331485503501 581.3441438440939, 529.331485503501 526.6558561559061, 528.0 472.0 L 520.0 636.0 L 512.0 800.0 Z" fill="green"/>
|
73
|
+
<path d="M 520.0 800.0 L 528.0 800.0 C 527.4901202091643 748.9560887641593, 525.4889827544381 697.9270836686406, 522.0 647.0 C 518.4969783794412 595.8679974309625, 513.4941118109862 544.8387584327211, 507.0 494.0 C 509.499713921766 544.9922064879415, 511.83306381257063 595.992568386958, 514.0 647.0 C 516.166335663636 697.9932959054471, 518.1663498478893 748.9936576039049, 520.0 800.0 Z" fill="green"/>
|
74
|
+
<path d="M 528.0 800.0 L 536.0 800.0 C 542.6605391833026 745.8078731754158, 547.995997540101 691.4528911655318, 552.0 637.0 C 555.9896445536779 582.7423708285993, 558.6573661253415 528.3875438059538, 560.0 474.0 L 544.0 637.0 L 528.0 800.0 Z" fill="green"/>
|
75
|
+
<path d="M 536.0 800.0 L 544.0 800.0 C 549.4960062303028 744.1202648899301, 553.4979118366857 688.093586400569, 556.0 632.0 C 558.5109828000144 575.7070073276797, 559.5114625948994 519.3466455491531, 559.0 463.0 C 555.5115774136476 519.3447462545802, 551.8448862777585 575.6784555241504, 548.0 632.0 C 544.1762179123731 688.0124012405881, 540.1761915109097 744.012770861075, 536.0 800.0 Z" fill="green"/>
|
76
|
+
<path d="M 544.0 800.0 L 552.0 800.0 C 549.6407905634281 760.5593687292015, 545.9714283322172 721.1971193398484, 541.0 682.0 C 535.9862601236998 642.4692762044414, 529.6481912185527 603.1065324777383, 522.0 564.0 L 533.0 682.0 L 544.0 800.0 Z" fill="green"/>
|
77
|
+
<path d="M 552.0 800.0 L 560.0 800.0 C 557.6306057091518 744.9237496477913, 553.9625804841428 689.9033712726557, 549.0 635.0 C 543.9858667395782 579.526276019671, 537.6501377959934 524.172012617824, 530.0 469.0 C 533.6555711026656 524.3340678366645, 537.3222378676205 579.6674026532563, 541.0 635.0 C 544.6557040901696 690.0007301068505, 548.3223708539491 745.0007315635416, 552.0 800.0 Z" fill="green"/>
|
78
|
+
<path d="M 560.0 800.0 L 568.0 800.0 C 571.165121211778 763.7560745743903, 572.8336803605682 727.3814851307633, 573.0 691.0 C 573.166256729565 654.6322760485482, 571.8314105557666 618.2577178125406, 569.0 582.0 C 567.8330264541327 618.3391840614597, 566.4996744876756 654.673025147414, 565.0 691.0 C 563.499758368797 727.3407129062936, 561.8330683931058 763.6745543763625, 560.0 800.0 Z" fill="green"/>
|
79
|
+
<path d="M 568.0 800.0 L 576.0 800.0 C 573.7914493985498 746.2469620030936, 570.1229803804481 692.553915465422, 565.0 639.0 C 559.81813049573 584.830477422158, 553.1481110507455 530.8033199177834, 545.0 477.0 C 549.1549947117855 530.9883697829925, 553.1550166841491 584.9886664099012, 557.0 639.0 C 560.8196923194737 692.6560653535572, 564.4863788633792 746.32302295072, 568.0 800.0 Z" fill="green"/>
|
80
|
+
<path d="M 576.0 800.0 L 584.0 800.0 C 582.1499562337959 748.5846789553502, 578.8147697025045 697.2228063734615, 574.0 646.0 C 569.1589122332535 594.4972040959722, 562.8220192232425 543.1350186464082, 555.0 492.0 C 558.8325853389825 543.3213022999943, 562.4992775467094 594.6549932081706, 566.0 646.0 C 569.499180069056 697.3223846816636, 572.8325366010793 748.6560752748211, 576.0 800.0 Z" fill="green"/>
|
81
|
+
<path d="M 584.0 800.0 L 592.0 800.0 C 590.3039993093396 742.2753434174595, 587.302977406971 684.5890335163741, 583.0 627.0 C 578.6574087571424 568.8807934646156, 572.9887761251027 510.86067123079727, 566.0 453.0 C 568.9913278729789 511.0004481249229, 571.9913279176908 569.0004489893528, 575.0 627.0 C 577.9914271335623 684.6671122279694, 580.9914271777632 742.3337797442738, 584.0 800.0 Z" fill="green"/>
|
82
|
+
<path d="M 592.0 800.0 L 600.0 800.0 C 603.4990742523436 755.0833222253493, 605.5005554778459 710.049994651548, 606.0 665.0 C 606.4990750193307 619.9833345761916, 605.4983355021067 574.9500563011097, 603.0 530.0 C 601.4997055974426 575.0059566379673, 599.8330237443677 620.0063666709887, 598.0 665.0 C 596.1664239182161 710.0071910732894, 594.166405683542 755.0076013534554, 592.0 800.0 Z" fill="green"/>
|
83
83
|
<path d="M 200.0 409.0 L 200.0 244.0 C 200.0 230.19176133042762, 199.29972644087232 216.05032287883216, 203.46448407559444 202.88513207125564 C 205.54686289304456 196.30253666744866, 209.03534926486037 190.05734642171515, 214.1688763314286 185.44066323501096 C 219.30240339799687 180.82398004830677, 226.0958806651691 177.9999999999207, 233.0 178.0 C 239.9041193347862 178.0, 246.69759660188197 180.8239800484458, 251.83112366836394 185.44066323517904 C 256.9646507348459 190.05734642191226, 260.4531371065675 196.30253666764537, 262.5355159239286 202.88513207143362 C 266.70027355879324 216.05032287891686, 265.99999999983595 230.19176133047358, 266.0 244.0 L 266.0 277.0 C 266.0 290.8082386695724, 265.2997264408723 304.94967712116784, 269.46448407559444 318.1148679287444 C 271.5468628930446 324.69746333255137, 275.03534926486043 330.9426535782849, 280.16887633142863 335.55933676498904 C 285.3024033979969 340.1760199516932, 292.0958806651691 343.0000000000793, 299.0 343.0 C 305.9041193347862 343.0, 312.69759660188197 340.1760199515542, 317.83112366836394 335.55933676482096 C 322.9646507348459 330.94265357808774, 326.4531371065675 324.69746333235463, 328.5355159239286 318.11486792856635 C 332.70027355879324 304.94967712108314, 331.99999999983595 290.8082386695264, 332.0 277.0 L 332.0 244.0 C 332.0 230.19176133042762, 331.2997264408723 216.05032287883216, 335.46448407559444 202.88513207125564 C 337.5468628930446 196.30253666744866, 341.03534926486043 190.05734642171515, 346.16887633142863 185.44066323501096 C 351.3024033979969 180.82398004830677, 358.0958806651691 177.9999999999207, 365.0 178.0 C 371.9041193347862 178.0, 378.6975966018819 180.8239800484458, 383.8311236683639 185.44066323517904 C 388.9646507348459 190.05734642191226, 392.45313710656745 196.30253666764537, 394.5355159239286 202.88513207143362 C 398.70027355879324 216.05032287891686, 397.99999999983595 230.19176133047358, 398.0 244.0 L 398.0 409.0 C 398.0 434.9181393921158, 387.3304634573715 460.6766792175649, 369.0035713374682 479.0035713374682 C 350.6766792175649 497.3304634573715, 324.9181393921158 508.0, 299.0 508.0 C 273.0818606078842 508.0, 247.32332078243505 497.3304634573715, 228.9964286625318 479.0035713374682 C 210.66953654262855 460.6766792175649, 200.0 434.9181393921158, 200.0 409.0 Z" fill="white" stroke="#222" stroke-width="8"/>
|
84
84
|
<path d="M 216.0 310.0 L 216.0 244.0 C 216.0 234.22834905515546, 215.1020924443995 224.4122681509689, 216.1841437241162 214.70071177642498 C 216.72516936379034 209.844933589686, 217.9808881723563 204.95096086504498, 220.76278042847377 200.93444919234338 C 222.15372655653243 198.92619335599267, 223.92588456807474 197.1637763205271, 226.02493950620254 195.91405995185806 C 228.12399444433038 194.664343583189, 230.55779331036828 193.94127078651735, 233.0 194.0 C 235.41232855641024 194.0580107160999, 237.77996892273725 194.8771079083559, 239.8018790488464 196.1941400830548 C 241.82378917495552 197.5111722577537, 243.50829248740763 199.31323878994007, 244.81698664953686 201.3405557107158 C 247.43437497379512 205.39518955226723, 248.5521495726032 210.25006315410437, 249.0028752097118 215.05502138795725 C 249.9043264831478 224.66493785507254, 249.00000000072285 234.3478961410834, 249.0 244.0 L 249.0 310.0" fill="lightpink"/>
|
85
85
|
<path d="M 348.0 310.0 L 348.0 244.0 C 348.0 234.22834905515546, 347.1020924443995 224.4122681509689, 348.1841437241162 214.70071177642498 C 348.72516936379037 209.844933589686, 349.9808881723563 204.95096086504498, 352.7627804284738 200.93444919234338 C 354.15372655653243 198.92619335599267, 355.9258845680747 197.1637763205271, 358.02493950620254 195.91405995185806 C 360.1239944443304 194.664343583189, 362.5577933103683 193.94127078651735, 365.0 194.0 C 367.4123285564103 194.0580107160999, 369.7799689227372 194.8771079083559, 371.8018790488464 196.19414008305478 C 373.82378917495555 197.51117225775369, 375.50829248740763 199.31323878994004, 376.8169866495369 201.3405557107158 C 379.4343749737951 205.39518955226723, 380.55214957260324 210.25006315410437, 381.00287520971176 215.05502138795725 C 381.90432648314777 224.66493785507254, 381.0000000007229 234.3478961410834, 381.0 244.0 L 381.0 310.0" fill="lightpink"/>
|
@@ -98,37 +98,37 @@
|
|
98
98
|
<path d="M 282.5 623.5 L 282.5 640.0" fill="none" stroke="black" stroke-linecap="round" stroke-width="6.8"/>
|
99
99
|
<path d="M 332 623.5 L 332 640.0" fill="none" stroke="black" stroke-linecap="round" stroke-width="6.8"/>
|
100
100
|
<path d="M 315.5 623.5 L 315.5 640.0" fill="none" stroke="black" stroke-linecap="round" stroke-width="6.8"/>
|
101
|
-
<path d="M -
|
102
|
-
<path d="M
|
103
|
-
<path d="M
|
104
|
-
<path d="M
|
105
|
-
<path d="M
|
106
|
-
<path d="M
|
107
|
-
<path d="M
|
108
|
-
<path d="M
|
109
|
-
<path d="M
|
110
|
-
<path d="M
|
111
|
-
<path d="M 172.0 800.0 L 181.0 800.0 C
|
112
|
-
<path d="M
|
113
|
-
<path d="M
|
114
|
-
<path d="M
|
115
|
-
<path d="M
|
116
|
-
<path d="M
|
117
|
-
<path d="M
|
118
|
-
<path d="M
|
119
|
-
<path d="M
|
120
|
-
<path d="M
|
121
|
-
<path d="M 360.0 800.0 L 369.0 800.0 C
|
122
|
-
<path d="M 373.0 800.0 L 382.0 800.0 C 385.
|
123
|
-
<path d="M
|
124
|
-
<path d="M
|
125
|
-
<path d="M
|
126
|
-
<path d="M
|
127
|
-
<path d="M
|
128
|
-
<path d="M
|
129
|
-
<path d="M
|
130
|
-
<path d="M
|
131
|
-
<path d="M
|
132
|
-
<path d="M
|
133
|
-
<path d="M 569.0 800.0 L 578.0 800.0 C
|
101
|
+
<path d="M -4.0 800.0 L 5.0 800.0 C 5.774333378961338 776.9883225427111, 5.105923790541621 753.9281917422309, 3.0 731.0 C 0.8381697964931232 707.4631286076104, -2.8385988046762565 684.0655102365326, -8.0 661.0 C -7.3381949604396555 684.3334718990418, -6.671528274478851 707.6668059076701, -6.0 731.0 C -5.33805710522013 754.0001365972622, -4.671390419806195 777.0001372440429, -4.0 800.0 Z" fill="green"/>
|
102
|
+
<path d="M 18.0 800.0 L 27.0 800.0 C 27.129278527824564 787.2358864254982, 25.784178263275358 774.4574339122807, 23.0 762.0 C 19.97952449372586 748.4852856229086, 15.264378598701558 735.3502363439123, 9.0 723.0 C 10.815810415951741 735.9802987022312, 12.482623472440922 748.9814405428467, 14.0 762.0 C 15.474567012987968 774.6512688073682, 16.808010943223906 787.3189861446095, 18.0 800.0 Z" fill="green"/>
|
103
|
+
<path d="M 36.0 800.0 L 45.0 800.0 C 45.28305268840374 778.6065121744551, 43.94463052902876 757.1917576244554, 41.0 736.0 C 37.99148424738694 714.3484766559965, 33.30622516245653 692.9301494106003, 27.0 672.0 C 28.832567158489628 693.319939509078, 30.499301047416 714.6541332873356, 32.0 736.0 C 33.49905930869418 757.3225445001259, 34.83244630238516 778.6567363991816, 36.0 800.0 Z" fill="green"/>
|
104
|
+
<path d="M 52.0 800.0 L 61.0 800.0 C 57.79490000169323 781.0079673239492, 53.109397731400286 762.2659582427774, 47.0 744.0 C 40.55088712604147 724.7183569252276, 32.51490507210521 705.9677321327096, 23.0 688.0 C 28.156413027113928 706.6243013956688, 33.156647419578995 725.2918431275384, 38.0 744.0 C 42.82241167045039 762.627269548593, 47.48929521576542 781.294803729853, 52.0 800.0 Z" fill="green"/>
|
105
|
+
<path d="M 63.0 800.0 L 72.0 800.0 C 68.02170440088791 777.0427401801629, 62.675779137509 754.3225578108026, 56.0 732.0 C 49.07611663663821 708.8478280257233, 40.7216184306453 686.1235929054225, 31.0 664.0 L 47.0 732.0 L 63.0 800.0 Z" fill="green"/>
|
106
|
+
<path d="M 85.0 800.0 L 94.0 800.0 C 99.8082447726628 780.018676168812, 104.15694237435325 759.6132489608799, 107.0 739.0 C 109.83205406576658 718.4665310327508, 111.17007833056967 697.7271549283032, 111.0 677.0 C 106.70093494279156 697.6738321816734, 102.36759366848158 718.3405367206902, 98.0 739.0 C 93.69986151226313 759.3403887647432, 89.3665204813474 779.6737582175016, 85.0 800.0 Z" fill="green"/>
|
107
|
+
<path d="M 100.0 800.0 L 109.0 800.0 C 111.81985234404198 786.5332008784783, 113.16378552797335 772.7578857431818, 113.0 759.0 C 112.835778992071 745.205534202723, 111.15579190372401 731.4296400782777, 108.0 718.0 L 104.0 759.0 L 100.0 800.0 Z" fill="green"/>
|
108
|
+
<path d="M 124.0 800.0 L 133.0 800.0 C 136.80262546925437 784.5995859789168, 139.14977793964425 768.8401336777276, 140.0 753.0 C 140.85961222826398 736.9849220084768, 140.18890948846604 720.8880562533261, 138.0 705.0 C 135.69121373314334 721.0035669621606, 133.35787673897585 737.0035920650234, 131.0 753.0 C 128.69021212951787 768.6701613823722, 126.35687528315299 784.3368516365363, 124.0 800.0 Z" fill="green"/>
|
109
|
+
<path d="M 143.0 800.0 L 152.0 800.0 C 151.41253299148005 776.2421790287818, 149.40779812681419 752.5194831302356, 146.0 729.0 C 142.48240691482226 704.7227487817144, 137.46979451323733 680.6622092541066, 131.0 657.0 C 132.98591664247826 681.0011708393515, 134.98591710158587 705.0011763486432, 137.0 729.0 C 138.98630379060933 752.6678214319725, 140.98630423713988 776.3344933825839, 143.0 800.0 Z" fill="green"/>
|
110
|
+
<path d="M 155.0 800.0 L 164.0 800.0 C 168.30105918400423 783.3106218738365, 170.9843356843787 766.2047341839492, 172.0 749.0 C 173.02385124781685 731.6565841768122, 172.3529648671819 714.2135382803033, 170.0 697.0 C 167.85708718171674 714.3582576143074, 165.52356629519568 731.6929841998924, 163.0 749.0 C 160.5170959302877 766.0281478423891, 157.8502217690542 783.0294706202527, 155.0 800.0 Z" fill="green"/>
|
111
|
+
<path d="M 172.0 800.0 L 181.0 800.0 C 177.40823191156846 779.3544807608498, 172.39241737721446 758.9568349878101, 166.0 739.0 C 159.1964221587201 717.7595408289328, 150.8332303332353 697.0188251017304, 141.0 677.0 C 146.45258333385942 697.6356475903498, 151.78603516649605 718.3027734418166, 157.0 739.0 C 162.11510577806865 759.3047980833068, 167.11521269834682 779.6385662257713, 172.0 800.0 Z" fill="green"/>
|
112
|
+
<path d="M 189.0 800.0 L 198.0 800.0 C 197.50695569068117 782.5367684159564, 195.49693952232866 765.1166282902348, 192.0 748.0 C 188.30092822680118 729.8939858249017, 182.93770629820227 712.1283131864179, 176.0 695.0 C 178.48002000921184 712.6468795879244, 180.81346066171614 730.3143588140284, 183.0 748.0 C 185.1409240370242 765.316685623845, 187.14101222682527 782.6507832687878, 189.0 800.0 Z" fill="green"/>
|
113
|
+
<path d="M 216.0 800.0 L 225.0 800.0 C 229.80497402163948 784.0136398902686, 233.15658229358485 767.5907593577364, 235.0 751.0 C 236.84341770641515 734.4092406422636, 237.17857853360968 717.6511992825368, 236.0 701.0 C 232.69966774500804 717.6732442356272, 229.3663257014025 734.339954453655, 226.0 751.0 C 222.6983860264689 767.3397852895104, 219.36504431452423 783.6731596780393, 216.0 800.0 Z" fill="green"/>
|
114
|
+
<path d="M 234.0 800.0 L 243.0 800.0 C 248.6308905400127 785.8444722700285, 252.66457623310234 771.0542913953665, 255.0 756.0 C 257.2551379311124 741.4632362516338, 257.9270392078334 726.6814081637727, 257.0 712.0 C 253.48904199804036 726.7050093959216, 249.82210030223402 741.372776179147, 246.0 756.0 C 242.1565902048973 770.7087755063274, 238.1562868182008 785.3765545908811, 234.0 800.0 Z" fill="green"/>
|
115
|
+
<path d="M 243.0 800.0 L 252.0 800.0 C 252.47582531820825 774.9700152859867, 251.4735051665537 749.9120114946228, 249.0 725.0 C 246.4970007855739 699.7909379596354, 242.4874974828197 674.7315423174216, 237.0 650.0 L 240.0 725.0 L 243.0 800.0 Z" fill="green"/>
|
116
|
+
<path d="M 263.0 800.0 L 272.0 800.0 C 275.99330326242756 780.5779815446368, 278.3377987400911 760.8172339471873, 279.0 741.0 C 279.6584297782188 721.2956325474955, 278.65370036337026 701.5359540554746, 276.0 682.0 C 274.1645590936639 701.6829380258969, 272.16446579471346 721.3505221322431, 270.0 741.0 C 267.8315375093927 760.6857607176413, 265.4980949249313 780.3533482152445, 263.0 800.0 Z" fill="green"/>
|
117
|
+
<path d="M 279.0 800.0 L 288.0 800.0 C 284.81874717204454 775.0829682003035, 280.1408806342324 750.3571022147252, 274.0 726.0 C 267.5787771136069 700.5309522358176, 259.5577838409382 675.465348258728, 250.0 651.0 C 255.13116352286298 675.9735285676335, 260.13125534124526 700.9739876595448, 265.0 726.0 C 269.79410030054146 750.6423301470519, 274.4608500567996 775.3094360015593, 279.0 800.0 Z" fill="green"/>
|
118
|
+
<path d="M 303.0 800.0 L 312.0 800.0 C 315.6322761506841 781.894098371603, 317.6429200717585 763.4631957617544, 318.0 745.0 C 318.3623632146922 726.2636263184284, 317.021722284005 707.4946532888075, 314.0 689.0 C 312.5179005917744 707.6825330885416, 310.85112536241485 726.3504156573682, 309.0 745.0 C 307.1783915831476 763.3522091475317, 305.1782654294018 781.686698890201, 303.0 800.0 Z" fill="green"/>
|
119
|
+
<path d="M 320.0 800.0 L 329.0 800.0 C 333.4822563609055 777.8993696264265, 336.4911216210814 755.5000393562284, 338.0 733.0 C 339.5177800671637 710.3672207631759, 339.5177800671637 687.6327792368241, 338.0 665.0 C 335.02215800289696 687.6695919974231, 332.02215609181866 710.336273103348, 329.0 733.0 C 326.02151665685415 755.3362165964971, 323.0215148006102 777.6695637485353, 320.0 800.0 Z" fill="green"/>
|
120
|
+
<path d="M 334.0 800.0 L 343.0 800.0 C 346.13906134079525 779.8232885792443, 347.811579484495 759.4185672261074, 348.0 739.0 C 348.19127119671396 718.2725129848266, 346.85311391205886 697.5310750726719, 344.0 677.0 C 342.34701467281377 697.6677669619522, 340.6803475192262 718.334439666438, 339.0 739.0 C 337.34657831270783 759.3344160922683, 335.6799111746001 779.6677551771832, 334.0 800.0 Z" fill="green"/>
|
121
|
+
<path d="M 360.0 800.0 L 369.0 800.0 C 377.1967999370767 786.4469279109295, 383.9159088997879 772.0008436411005, 389.0 757.0 C 393.8364456140676 742.7298457078617, 397.1935060758086 727.9587796762011, 399.0 713.0 C 392.8714428961749 727.7539665352361, 386.537289772917 742.4225316627808, 380.0 757.0 C 373.5313795052103 771.4243430724057, 366.8638679357881 785.7594929466634, 360.0 800.0 Z" fill="green"/>
|
122
|
+
<path d="M 373.0 800.0 L 382.0 800.0 C 385.82768176916306 781.2235589976594, 388.17070398467376 762.1446638142153, 389.0 743.0 C 389.82360717330766 723.9866656096883, 389.15421011938963 704.908849573024, 387.0 686.0 L 380.0 743.0 L 373.0 800.0 Z" fill="green"/>
|
123
|
+
<path d="M 393.0 800.0 L 402.0 800.0 C 398.58641653339356 781.3777608434797, 393.90537742130135 762.9879643316889, 388.0 745.0 C 381.70007380267356 725.810227755975, 374.0065336164198 707.0781299111832, 365.0 689.0 C 369.62643581298664 707.676693682546, 374.29311692555484 726.3434181328187, 379.0 745.0 C 383.62781793454286 763.3431928936086, 388.29449856586916 781.6765810881047, 393.0 800.0 Z" fill="green"/>
|
124
|
+
<path d="M 410.0 800.0 L 419.0 800.0 C 425.1248670427889 783.7882797792562, 429.81575866377756 767.0350954185824, 433.0 750.0 C 436.14252485958013 733.188079926843, 437.8176179744739 716.1021301549271, 438.0 699.0 C 433.3770774531222 716.0119678607832, 428.71039019662396 733.0120428665981, 424.0 750.0 C 419.3754383019919 766.6784178395329, 414.7087517889968 783.3451553859439, 410.0 800.0 Z" fill="green"/>
|
125
|
+
<path d="M 431.0 800.0 L 440.0 800.0 C 444.660284191671 776.5834890892521, 447.6701891149458 752.8386835834176, 449.0 729.0 C 450.3193678864224 705.3485214867493, 449.9849512289668 681.6049388074001, 448.0 658.0 C 445.4975486893221 681.6847853699868, 442.83079647542826 705.3522112682949, 440.0 729.0 C 437.1644939931141 752.6871310178434, 434.1643974319894 776.3545594444937, 431.0 800.0 Z" fill="green"/>
|
126
|
+
<path d="M 446.0 800.0 L 455.0 800.0 C 459.4913043900111 780.5997077792426, 462.50289853666294 760.8570350400805, 464.0 741.0 C 465.47994893009883 721.370470217164, 465.47994893009883 701.629529782836, 464.0 682.0 L 455.0 741.0 L 446.0 800.0 Z" fill="green"/>
|
127
|
+
<path d="M 466.0 800.0 L 475.0 800.0 C 481.9495917192283 782.189294863208, 487.311057125812 763.7592575280764, 491.0 745.0 C 494.62698976118656 726.5557905605215, 496.637187741598 707.7939427433482, 497.0 689.0 C 492.20096272171685 707.7197245219585, 487.20057711389705 726.3878307911524, 482.0 745.0 C 476.8616912078978 763.3893192219682, 471.52795635029963 781.724032794962, 466.0 800.0 Z" fill="green"/>
|
128
|
+
<path d="M 481.0 800.0 L 490.0 800.0 C 493.6606595094386 779.2025714291882, 495.6690431588235 758.1145431106463, 496.0 737.0 C 496.3301277165287 715.9383537808593, 494.991233264212 694.8507661568715, 492.0 674.0 C 490.4986566912131 695.0126845104069, 488.83192118970976 716.0135518293489, 487.0 737.0 C 485.1655578170309 758.0153286130374, 483.165474987725 779.0161983207489, 481.0 800.0 Z" fill="green"/>
|
129
|
+
<path d="M 503.0 800.0 L 512.0 800.0 C 513.4471024243218 779.3671202725731, 513.4471024243218 758.6328797274269, 512.0 738.0 C 510.5145632958357 716.8205476374, 507.5042274255303 695.748196545262, 503.0 675.0 L 503.0 738.0 L 503.0 800.0 Z" fill="green"/>
|
130
|
+
<path d="M 521.0 800.0 L 530.0 800.0 C 527.7367295441888 777.7965634513642, 524.0601830440605 755.7372844505942, 519.0 734.0 C 513.7843089222405 711.594691817174, 507.0985575481589 689.531712282705, 499.0 668.0 L 510.0 734.0 L 521.0 800.0 Z" fill="green"/>
|
131
|
+
<path d="M 538.0 800.0 L 547.0 800.0 C 550.4970802015902 774.8146307621016, 552.5017521700214 749.422119161973, 553.0 724.0 C 553.4970878122615 698.6370684688816, 552.4947626951603 673.2448321689834, 550.0 648.0 L 544.0 724.0 L 538.0 800.0 Z" fill="green"/>
|
132
|
+
<path d="M 549.0 800.0 L 558.0 800.0 C 556.6670569345487 782.4962359788486, 553.9899429092509 765.094994814413, 550.0 748.0 C 545.7784185784739 729.9125450787063, 540.0868975422612 712.1683912599258, 533.0 695.0 C 535.6413725690811 712.6704722988654, 538.3080428794605 730.3371631051283, 541.0 748.0 C 543.6423075294526 765.337069213591, 546.3089777066645 782.670425365468, 549.0 800.0 Z" fill="green"/>
|
133
|
+
<path d="M 569.0 800.0 L 578.0 800.0 C 579.9564010350977 775.0568019783898, 580.2906718304564 749.9864923264843, 579.0 725.0 C 577.6830595552927 699.5049659102908, 574.6742753631747 674.0974549546274, 570.0 649.0 C 570.1699897966374 674.3329531146794, 570.1699897966374 699.6670468853206, 570.0 725.0 C 569.8322320331857 750.0018420018185, 569.4988889539477 775.0025729446766, 569.0 800.0 Z" fill="green"/>
|
134
134
|
</svg>
|
data/examples/circles.png
CHANGED
Binary file
|
data/examples/circles.svg
CHANGED
@@ -3,9 +3,9 @@
|
|
3
3
|
width="280"
|
4
4
|
height="240">
|
5
5
|
|
6
|
-
<path d="M 107.
|
6
|
+
<path d="M 108.94055427126249 -1.032709699097504 L 94.36084016597377 0.8239805871561963 L 107.18561409653948 8.056281847302913 L 97.27079794438174 25.095489064722486 L 95.17641401446326 25.454513629322662 L 93.1865662101554 26.58647817948413 L 85.63035887810123 28.120133769781653 L 93.92787998967118 34.36854460596847 L 92.63375433734402 45.89121730847506 L 88.28338214977336 40.975740539815455 L 80.95890980353656 48.356768033668786 L 86.84160009372025 47.01667311815419 L 78.8692713164549 61.60940221054669 L 81.65683834700866 57.23766041630591 L 71.5927607063218 65.84884571142757 L 73.02695438662678 67.03372322596785 L 63.19208977741891 67.92569034824766 L 71.31898361952544 80.8807988966213 L 63.593932047468115 77.15291937025297 L 67.6909624165038 81.5299356494068 L 57.24733271447241 88.7573666882797 L 45.56861253990675 79.05615372539197 L 42.653972979999786 88.13323856338243 L 43.3380196986322 90.13260825163869 L 38.58159385584845 91.19139191115217 L 38.9143074010509 87.34486847435053 L 30.630446213574324 95.92165485717963 L 25.911963022851154 95.08027257721236 L 16.538053425609547 99.70041257977587 L 24.1072611668821 100.26991958461556 L 14.187408306401128 99.97967924047657 L 3.640913769912974 93.03277805986002 L -6.749912592990437 107.37825724592123 L -6.028183131739397 104.79074911789483 L -15.019168379445475 100.8804144025693 L -17.92777228291034 97.55440014493801 L -23.635537602930473 106.26149341432138 L -25.246379986260916 94.86737439177945 L -33.816135322035315 86.376996725093 L -39.71755023031029 98.44320266150312 L -38.66191401044673 91.16728982885962 L -43.3380196986322 90.13260825163869 L -47.57661482916378 84.92397998523226 L -56.134113735591555 79.98806278457181 L -63.470944717326546 80.34266548823663 L -54.843173142273216 79.5993335792493 L -57.13042634732648 74.46533791767585 L -67.37168528119396 77.00518162144115 L -63.32045720456794 67.60014278624634 L -80.32260287131822 60.809276913841764 L -76.61612016523081 57.61799307409434 L -82.15629778884201 62.02124088868105 L -81.32778043150586 54.67371488929444 L -85.5140632071465 51.837217259097834 L -89.40385243429117 48.99393281403293 L -95.42632146201913 49.33606941885323 L -94.93584696860002 39.987138145548045 L -92.60812959036545 43.271255366379165 L -103.31108729190471 35.968449854923826 L -100.61127551017582 34.24467580612231 L -97.33773651227678 25.103137897585533 L -93.5152487452668 9.256114243604268 L -106.02024045327296 16.40447815812305 L -102.54619328215185 6.498015649785762 L -100.0 0.0 L -93.44918565276467 -0.37031056976509635 L -99.42483433573263 -5.218668103802705 L -96.70408112112952 -17.320083879997174 L -89.70550788455975 -14.50812266946772 L -99.27850825863634 -30.465537309280386 L -100.54453851649527 -23.51329883508287 L -98.86183587771018 -35.178531824932634 L -86.30352096185212 -40.315552928279644 L -90.73837425173082 -42.542376843368366 L -86.7507631031089 -37.71851054864424 L -84.51473583444236 -51.80054571475834 L -84.88365318691936 -56.22919016562729 L -81.28680767200652 -66.71822987775272 L -81.23929795660851 -56.71632272089432 L -81.7233934184668 -60.86020280640438 L -70.01794887757895 -71.43107695094787 L -67.22306791242819 -74.00886506978958 L -64.96213012674106 -81.96208083727338 L -53.582108282097785 -75.10847118210131 L -61.93120265168953 -88.16164809102904 L -61.83602647998856 -85.66838159305851 L -49.05407533545893 -91.66839986085944 L -45.357582851578016 -99.92655355837098 L -48.70592922293998 -94.14092823679499 L -33.65801607499511 -89.99149215224043 L -34.08128146769034 -93.05006489680065 L -24.679242104442917 -98.82682580806204 L -21.54807433976259 -104.82434642724148 L -15.22047369505336 -98.84689167535035 L -2.426947587686052 -94.97837232036143 L -5.168711044710923 -100.8694382222506 L 3.1615098721475015 -105.09949559547941 L 4.274396108425822 -105.80660898749645 L 10.569521788236395 -96.50393238400424 L 24.21540967497614 -99.14876369639677 L 17.163831972115922 -95.29751023118162 L 26.294055096710718 -100.62717576563078 L 33.32604056791125 -98.96796261472176 L 31.804432606556155 -95.48522698198529 L 29.93344320008911 -91.47229882069972 L 42.390612194094 -87.28613341065648 L 44.33763772714119 -85.6800584774813 L 51.837217259097834 -85.5140632071465 L 58.30539938660643 -76.34002278888143 L 59.100018880314025 -75.17415918901554 L 64.4012948458365 -84.10620386837404 L 66.22528750401607 -73.94227485587685 L 79.90523914866122 -66.79746788721272 L 71.83245074624065 -65.158311100537 L 73.44164954895163 -54.30811079603872 L 78.21911919453619 -55.19223837453794 L 83.55724879064424 -57.787696667475714 L 88.12563172205328 -48.807413652929995 L 92.65516556702245 -51.338388147193754 L 95.5783028948941 -45.85683089688016 L 93.23396101071886 -47.84172827827459 L 97.0297729608427 -41.74270625292174 L 95.3259764734393 -28.738652741082106 L 92.86952693998313 -24.57895900070449 L 92.46535167196991 -24.471110005441137 L 102.26987307275961 -11.575861458753021 L 100.45137786474646 -13.057839386713983 L 102.12713923901042 -7.118666451917257 L 104.31309469210171 7.899190729243349 Z"/>
|
7
7
|
<circle cx="200" cy="100" r="50"/>
|
8
8
|
<circle cx="60" cy="140" r="30" fill="cyan" stroke="magenta" stroke-width="3"/>
|
9
|
-
<path d="M 190 200 C 190 177.92339902024, 172.07660097976 160, 150 160 C 127.92339902024 160, 110 177.92339902024, 110 200 C 110 222.07660097976, 127.92339902024 240, 150 240 C 172.07660097976 240, 190 222.07660097976, 190 200" fill="magenta"/>
|
9
|
+
<path d="M 190 200 C 190 177.92339902024, 172.07660097976 160, 150 160 C 127.92339902024 160, 110 177.92339902024, 110 200 C 110 222.07660097976, 127.92339902024 240, 150 240 C 172.07660097976 240, 190 222.07660097976, 190 200 Z" fill="magenta"/>
|
10
10
|
<path d="M 280 130 C 280 146.55745073482, 266.55745073482 160, 250 160 C 233.44254926518 160, 220 146.55745073482, 220 130 C 220 113.44254926518, 233.44254926518 100, 250 100 C 266.55745073482 100, 280 113.44254926518, 280 130 Z" fill="lightblue"/>
|
11
11
|
</svg>
|
data/examples/rects.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# Simple rectangle 100x150
|
2
2
|
rect(100, 200)
|
3
3
|
|
4
|
-
rect(500, 10
|
4
|
+
rect(500, 10)[0, 200]
|
5
5
|
|
6
|
-
rect(300, 200,
|
6
|
+
rect(300, 200, fill: "yellow")[100, 0]
|
7
7
|
|
8
|
-
canvas << Rect.new(500, 30,
|
8
|
+
canvas << Rect.new(500, 30, fill: "red")[0, 410].to_path
|
9
9
|
|
10
|
-
rect(20, 500
|
10
|
+
rect(20, 500)[400, 0]
|
data/examples/squares.png
CHANGED
Binary file
|
data/examples/squares.rb
CHANGED
@@ -2,13 +2,13 @@
|
|
2
2
|
square(100)
|
3
3
|
|
4
4
|
# Square at position
|
5
|
-
square(50
|
5
|
+
square(50)[200, 100]
|
6
6
|
|
7
7
|
# Square with options
|
8
|
-
square(30,
|
8
|
+
square(30, fill: "cyan", stroke: "magenta", stroke_width: 3)[-60, 140].flip_y
|
9
9
|
|
10
10
|
# Square with N node position
|
11
|
-
square(40,
|
11
|
+
square(40, fill: "magenta")[150, -200].flip(:x)
|
12
12
|
|
13
13
|
# Square converted to a path and manually added to canvas
|
14
|
-
canvas << Square.new(30,
|
14
|
+
canvas << Square.new(30, fill: "lightblue")[250, 130].to_path
|
data/examples/squares.svg
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
<svg version="1.1"
|
2
2
|
xmlns="http://www.w3.org/2000/svg"
|
3
3
|
width="280"
|
4
|
-
height="
|
4
|
+
height="200">
|
5
5
|
|
6
|
-
<
|
7
|
-
<
|
8
|
-
<path d="
|
9
|
-
<
|
10
|
-
<path d="
|
6
|
+
<path d="M 0 0 L 0 100 L 100 100 L 100 0 Z"/>
|
7
|
+
<path d="M 200 100 L 200 150 L 250 150 L 250 100 Z"/>
|
8
|
+
<path d="M 60 140 L 60 170 L 30 170 L 30 140 Z" fill="cyan" stroke="magenta" stroke-width="3"/>
|
9
|
+
<path d="M 150 200 L 150 160 L 190 160 L 190 200 Z" fill="magenta"/>
|
10
|
+
<path d="M 250 130 L 250 160 L 280 160 L 280 130 Z" fill="lightblue"/>
|
11
11
|
</svg>
|
data/lib/contracts_contracts.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
# @private
|
1
|
+
# @api private
|
2
2
|
module Contracts
|
3
3
|
class Coords
|
4
|
-
def self.valid?
|
4
|
+
def self.valid?(val)
|
5
5
|
Maybe[[Num, Num]].valid? val
|
6
6
|
end
|
7
7
|
|
@@ -11,7 +11,7 @@ module Contracts
|
|
11
11
|
end
|
12
12
|
|
13
13
|
class Coord
|
14
|
-
def self.valid?
|
14
|
+
def self.valid?(val)
|
15
15
|
Num.valid? val
|
16
16
|
end
|
17
17
|
|
@@ -21,7 +21,7 @@ module Contracts
|
|
21
21
|
end
|
22
22
|
|
23
23
|
class PolySides
|
24
|
-
def self.valid?
|
24
|
+
def self.valid?(val)
|
25
25
|
Num.valid?(val) && val >= 3
|
26
26
|
end
|
27
27
|
|
data/lib/vector_salad/canvas.rb
CHANGED
@@ -1,4 +1,16 @@
|
|
1
1
|
module VectorSalad
|
2
|
+
# All shapes must be added to the global canvas for export,
|
3
|
+
# and block transform shapes like {Union} or {Move} have an internal
|
4
|
+
# canvas that shapes must be added to.
|
5
|
+
#
|
6
|
+
# In most cases you'll want to use the DSL which abstracts away the canvas
|
7
|
+
# so you don't have to think about it.
|
8
|
+
#
|
9
|
+
# @example Manually adding a circle to a canvas:
|
10
|
+
# canvas << Circle.new(100)
|
11
|
+
#
|
12
|
+
# @example Implicitly adding a circle to a canvas using DSL:
|
13
|
+
# circle(100)
|
2
14
|
class Canvas
|
3
15
|
include Enumerable
|
4
16
|
|
@@ -6,10 +18,12 @@ module VectorSalad
|
|
6
18
|
@canvas = []
|
7
19
|
end
|
8
20
|
|
21
|
+
# Add a shape to the canvas
|
9
22
|
def <<(shape)
|
10
23
|
@canvas << shape
|
11
24
|
end
|
12
25
|
|
26
|
+
# Loop over the shapes in the canvas.
|
13
27
|
def each(&block)
|
14
28
|
@canvas.each do |shape|
|
15
29
|
shape = shape.shape if shape.class == VectorSalad::ShapeProxy
|
@@ -20,6 +34,9 @@ module VectorSalad
|
|
20
34
|
end
|
21
35
|
end
|
22
36
|
|
37
|
+
# Access a specific shape in the canvas.
|
38
|
+
# Often used to get the first shape [0] for situations where only
|
39
|
+
# a single shape is allowed.
|
23
40
|
def [](i)
|
24
41
|
@canvas[i].class==VectorSalad::ShapeProxy ? @canvas[i].shape : @canvas[i]
|
25
42
|
end
|
data/lib/vector_salad/dsl.rb
CHANGED
@@ -1,41 +1,42 @@
|
|
1
|
-
require
|
1
|
+
require "vector_salad/shape_proxy"
|
2
2
|
|
3
3
|
module VectorSalad
|
4
|
+
# @api private
|
4
5
|
module DSL
|
5
6
|
def method_missing(name, *args, **options, &block)
|
6
|
-
|
7
|
-
|
8
|
-
#require "vector_salad/standard_shapes/#{name}.rb"
|
7
|
+
# This automatic require doesn't work properly
|
8
|
+
# require "vector_salad/standard_shapes/#{name}.rb"
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
ns = VectorSalad::StandardShapes
|
11
|
+
shape_string = name.to_s.split("_").collect(&:capitalize).join
|
12
|
+
shape_class = ns.const_get(shape_string)
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
end
|
14
|
+
# No built in is_superclass_of? so implement it ourselves
|
15
|
+
# inlined so it doesn't polute the namespace
|
16
|
+
is_superclass_of_transform = false
|
17
|
+
sub_class = shape_class
|
18
|
+
while sub_class != Object
|
19
|
+
sub_class = sub_class.superclass
|
20
|
+
if sub_class == VectorSalad::StandardShapes::Transform
|
21
|
+
is_superclass_of_transform = true
|
22
|
+
break
|
24
23
|
end
|
24
|
+
end
|
25
25
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
26
|
+
if is_superclass_of_transform
|
27
|
+
shape_instance = shape_class.new(
|
28
|
+
*args, canvas: canvas, **options, &block
|
29
|
+
)
|
30
|
+
else
|
31
|
+
shape_instance = shape_class.new(*args, **options, &block)
|
32
|
+
end
|
31
33
|
|
32
|
-
|
34
|
+
shape_proxy = VectorSalad::ShapeProxy.new(shape_instance)
|
33
35
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
end
|
36
|
+
canvas << shape_proxy
|
37
|
+
shape_proxy
|
38
|
+
rescue NameError # no shape available
|
39
|
+
super
|
39
40
|
end
|
40
41
|
end
|
41
42
|
end
|