vector_salad 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|