diff --git a/script/prototypes/dotgrid-20J06-400840.png b/script/prototypes/dotgrid-20J06-400840.png
new file mode 100644
index 0000000..3e53dc4
Binary files /dev/null and b/script/prototypes/dotgrid-20J06-400840.png differ
diff --git a/script/prototypes/dotgrid-20J06-412124.svg b/script/prototypes/dotgrid-20J06-412124.svg
new file mode 100644
index 0000000..ab93b25
--- /dev/null
+++ b/script/prototypes/dotgrid-20J06-412124.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/script/prototypes/dotgrid-20J06-412164.png b/script/prototypes/dotgrid-20J06-412164.png
new file mode 100644
index 0000000..54dbaf4
Binary files /dev/null and b/script/prototypes/dotgrid-20J06-412164.png differ
diff --git a/script/prototypes/dotgrid-20J06-412423.grid b/script/prototypes/dotgrid-20J06-412423.grid
new file mode 100644
index 0000000..7e4a53f
--- /dev/null
+++ b/script/prototypes/dotgrid-20J06-412423.grid
@@ -0,0 +1,769 @@
+{
+ "settings": {
+ "size": {
+ "width": 1860,
+ "height": 900
+ }
+ },
+ "layers": [
+ [
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 795,
+ "y": 420
+ },
+ {
+ "x": 795,
+ "y": 360
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 780,
+ "y": 360
+ },
+ {
+ "x": 810,
+ "y": 360
+ },
+ {
+ "x": 840,
+ "y": 420
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 855,
+ "y": 360
+ },
+ {
+ "x": 915,
+ "y": 420
+ },
+ {
+ "x": 855,
+ "y": 360
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 855,
+ "y": 330
+ },
+ {
+ "x": 885,
+ "y": 330
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 960,
+ "y": 390
+ },
+ {
+ "x": 930,
+ "y": 390
+ },
+ {
+ "x": 960,
+ "y": 360
+ },
+ {
+ "x": 990,
+ "y": 390
+ },
+ {
+ "x": 960,
+ "y": 420
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 945,
+ "y": 330
+ },
+ {
+ "x": 960,
+ "y": 345
+ },
+ {
+ "x": 975,
+ "y": 330
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 75,
+ "y": 90
+ },
+ {
+ "x": 90,
+ "y": 105
+ },
+ {
+ "x": 105,
+ "y": 90
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 75,
+ "y": 150
+ },
+ {
+ "x": 105,
+ "y": 150
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 75,
+ "y": 210
+ },
+ {
+ "x": 90,
+ "y": 195
+ },
+ {
+ "x": 105,
+ "y": 210
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 75,
+ "y": 270
+ },
+ {
+ "x": 90,
+ "y": 255
+ },
+ {
+ "x": 105,
+ "y": 270
+ },
+ {
+ "x": 90,
+ "y": 285
+ },
+ {
+ "x": 75,
+ "y": 270
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 75,
+ "y": 315
+ },
+ {
+ "x": 105,
+ "y": 345
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 240,
+ "y": 60
+ },
+ {
+ "x": 210,
+ "y": 120
+ },
+ {
+ "x": 180,
+ "y": 60
+ },
+ {
+ "x": 240,
+ "y": 60
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 210,
+ "y": 180
+ },
+ {
+ "x": 180,
+ "y": 210
+ },
+ {
+ "x": 210,
+ "y": 240
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 225,
+ "y": 210
+ },
+ {
+ "x": 240,
+ "y": 210
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 180,
+ "y": 360
+ },
+ {
+ "x": 210,
+ "y": 315
+ },
+ {
+ "x": 240,
+ "y": 360
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 210,
+ "y": 480
+ },
+ {
+ "x": 210,
+ "y": 450
+ },
+ {
+ "x": 180,
+ "y": 420
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 240,
+ "y": 420
+ },
+ {
+ "x": 210,
+ "y": 450
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 180,
+ "y": 540
+ },
+ {
+ "x": 210,
+ "y": 570
+ },
+ {
+ "x": 210,
+ "y": 570
+ },
+ {
+ "x": 240,
+ "y": 600
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 180,
+ "y": 570
+ },
+ {
+ "x": 210,
+ "y": 600
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 225,
+ "y": 540
+ },
+ {
+ "x": 240,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 300,
+ "y": 60
+ },
+ {
+ "x": 300,
+ "y": 75
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 300,
+ "y": 75
+ },
+ {
+ "x": 360,
+ "y": 120
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 360,
+ "y": 120
+ },
+ {
+ "x": 300,
+ "y": 120
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 180,
+ "y": 840
+ },
+ {
+ "x": 210,
+ "y": 780
+ },
+ {
+ "x": 240,
+ "y": 840
+ },
+ {
+ "x": 180,
+ "y": 840
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 180,
+ "y": 660
+ },
+ {
+ "x": 210,
+ "y": 660
+ },
+ {
+ "x": 240,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 195,
+ "y": 660
+ },
+ {
+ "x": 195,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 315,
+ "y": 195
+ },
+ {
+ "x": 345,
+ "y": 195
+ },
+ {
+ "x": 345,
+ "y": 195
+ },
+ {
+ "x": 345,
+ "y": 240
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 315,
+ "y": 195
+ },
+ {
+ "x": 315,
+ "y": 240
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 300,
+ "y": 300
+ },
+ {
+ "x": 330,
+ "y": 300
+ },
+ {
+ "x": 360,
+ "y": 300
+ },
+ {
+ "x": 360,
+ "y": 330
+ },
+ {
+ "x": 330,
+ "y": 330
+ },
+ {
+ "x": 330,
+ "y": 300
+ },
+ {
+ "x": 300,
+ "y": 300
+ },
+ {
+ "x": 300,
+ "y": 330
+ },
+ {
+ "x": 300,
+ "y": 360
+ },
+ {
+ "x": 330,
+ "y": 360
+ },
+ {
+ "x": 330,
+ "y": 330
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 360,
+ "y": 435
+ },
+ {
+ "x": 330,
+ "y": 420
+ },
+ {
+ "x": 300,
+ "y": 435
+ },
+ {
+ "x": 330,
+ "y": 450
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 300,
+ "y": 480
+ },
+ {
+ "x": 330,
+ "y": 450
+ },
+ {
+ "x": 330,
+ "y": 480
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 300,
+ "y": 600
+ },
+ {
+ "x": 360,
+ "y": 570
+ },
+ {
+ "x": 300,
+ "y": 540
+ },
+ {
+ "x": 360,
+ "y": 540
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 330,
+ "y": 690
+ },
+ {
+ "x": 300,
+ "y": 690
+ },
+ {
+ "x": 330,
+ "y": 660
+ },
+ {
+ "x": 360,
+ "y": 690
+ },
+ {
+ "x": 330,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 360,
+ "y": 795
+ },
+ {
+ "x": 330,
+ "y": 780
+ },
+ {
+ "x": 330,
+ "y": 840
+ },
+ {
+ "x": 300,
+ "y": 825
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 420,
+ "y": 60
+ },
+ {
+ "x": 480,
+ "y": 60
+ },
+ {
+ "x": 480,
+ "y": 60
+ }
+ ]
+ },
+ {
+ "type": "bezier",
+ "vertices": [
+ {
+ "x": 480,
+ "y": 60
+ },
+ {
+ "x": 375,
+ "y": 120
+ },
+ {
+ "x": 480,
+ "y": 120
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 420,
+ "y": 180
+ },
+ {
+ "x": 480,
+ "y": 240
+ },
+ {
+ "x": 420,
+ "y": 180
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 435,
+ "y": 315
+ },
+ {
+ "x": 420,
+ "y": 300
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 480,
+ "y": 360
+ },
+ {
+ "x": 465,
+ "y": 345
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 420,
+ "y": 330
+ },
+ {
+ "x": 450,
+ "y": 360
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 450,
+ "y": 300
+ },
+ {
+ "x": 480,
+ "y": 330
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 450,
+ "y": 330
+ },
+ {
+ "x": 450,
+ "y": 330
+ }
+ ]
+ }
+ ],
+ [],
+ []
+ ],
+ "styles": [
+ {
+ "thickness": 15,
+ "strokeLinecap": "square",
+ "strokeLinejoin": "round",
+ "color": "#ffffff",
+ "fill": "none",
+ "mirror_style": 0,
+ "transform": "rotate(45)"
+ },
+ {
+ "thickness": 15,
+ "strokeLinecap": "round",
+ "strokeLinejoin": "round",
+ "color": "#777777",
+ "fill": "none",
+ "mirror_style": 0,
+ "transform": "rotate(45)"
+ },
+ {
+ "thickness": 15,
+ "strokeLinecap": "round",
+ "strokeLinejoin": "round",
+ "color": "#444444",
+ "fill": "none",
+ "mirror_style": 0,
+ "transform": "rotate(45)"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/script/prototypes/dotgrid-20J06-447292.grid b/script/prototypes/dotgrid-20J06-447292.grid
new file mode 100644
index 0000000..73bc015
--- /dev/null
+++ b/script/prototypes/dotgrid-20J06-447292.grid
@@ -0,0 +1,1146 @@
+{
+ "settings": {
+ "size": {
+ "width": 1860,
+ "height": 900
+ }
+ },
+ "layers": [
+ [
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 795,
+ "y": 420
+ },
+ {
+ "x": 795,
+ "y": 360
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 780,
+ "y": 360
+ },
+ {
+ "x": 810,
+ "y": 360
+ },
+ {
+ "x": 840,
+ "y": 420
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 855,
+ "y": 360
+ },
+ {
+ "x": 915,
+ "y": 420
+ },
+ {
+ "x": 855,
+ "y": 360
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 855,
+ "y": 330
+ },
+ {
+ "x": 885,
+ "y": 330
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 960,
+ "y": 390
+ },
+ {
+ "x": 930,
+ "y": 390
+ },
+ {
+ "x": 960,
+ "y": 360
+ },
+ {
+ "x": 990,
+ "y": 390
+ },
+ {
+ "x": 960,
+ "y": 420
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 945,
+ "y": 330
+ },
+ {
+ "x": 960,
+ "y": 345
+ },
+ {
+ "x": 975,
+ "y": 330
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 75,
+ "y": 90
+ },
+ {
+ "x": 90,
+ "y": 105
+ },
+ {
+ "x": 105,
+ "y": 90
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 75,
+ "y": 150
+ },
+ {
+ "x": 105,
+ "y": 150
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 75,
+ "y": 210
+ },
+ {
+ "x": 90,
+ "y": 195
+ },
+ {
+ "x": 105,
+ "y": 210
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 75,
+ "y": 270
+ },
+ {
+ "x": 90,
+ "y": 255
+ },
+ {
+ "x": 105,
+ "y": 270
+ },
+ {
+ "x": 90,
+ "y": 285
+ },
+ {
+ "x": 75,
+ "y": 270
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 75,
+ "y": 315
+ },
+ {
+ "x": 105,
+ "y": 345
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 240,
+ "y": 60
+ },
+ {
+ "x": 210,
+ "y": 120
+ },
+ {
+ "x": 180,
+ "y": 60
+ },
+ {
+ "x": 240,
+ "y": 60
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 210,
+ "y": 180
+ },
+ {
+ "x": 180,
+ "y": 210
+ },
+ {
+ "x": 210,
+ "y": 240
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 225,
+ "y": 210
+ },
+ {
+ "x": 240,
+ "y": 210
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 180,
+ "y": 360
+ },
+ {
+ "x": 210,
+ "y": 315
+ },
+ {
+ "x": 240,
+ "y": 360
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 210,
+ "y": 480
+ },
+ {
+ "x": 210,
+ "y": 450
+ },
+ {
+ "x": 180,
+ "y": 420
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 240,
+ "y": 420
+ },
+ {
+ "x": 210,
+ "y": 450
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 180,
+ "y": 540
+ },
+ {
+ "x": 210,
+ "y": 570
+ },
+ {
+ "x": 210,
+ "y": 570
+ },
+ {
+ "x": 240,
+ "y": 600
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 180,
+ "y": 570
+ },
+ {
+ "x": 210,
+ "y": 600
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 225,
+ "y": 540
+ },
+ {
+ "x": 240,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 300,
+ "y": 60
+ },
+ {
+ "x": 300,
+ "y": 75
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 300,
+ "y": 75
+ },
+ {
+ "x": 360,
+ "y": 120
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 360,
+ "y": 120
+ },
+ {
+ "x": 300,
+ "y": 120
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 180,
+ "y": 840
+ },
+ {
+ "x": 210,
+ "y": 780
+ },
+ {
+ "x": 240,
+ "y": 840
+ },
+ {
+ "x": 180,
+ "y": 840
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 180,
+ "y": 660
+ },
+ {
+ "x": 210,
+ "y": 660
+ },
+ {
+ "x": 240,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 195,
+ "y": 660
+ },
+ {
+ "x": 195,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 315,
+ "y": 195
+ },
+ {
+ "x": 345,
+ "y": 195
+ },
+ {
+ "x": 345,
+ "y": 195
+ },
+ {
+ "x": 345,
+ "y": 240
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 315,
+ "y": 195
+ },
+ {
+ "x": 315,
+ "y": 240
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 300,
+ "y": 300
+ },
+ {
+ "x": 330,
+ "y": 300
+ },
+ {
+ "x": 360,
+ "y": 300
+ },
+ {
+ "x": 360,
+ "y": 330
+ },
+ {
+ "x": 330,
+ "y": 330
+ },
+ {
+ "x": 330,
+ "y": 300
+ },
+ {
+ "x": 300,
+ "y": 300
+ },
+ {
+ "x": 300,
+ "y": 330
+ },
+ {
+ "x": 300,
+ "y": 360
+ },
+ {
+ "x": 330,
+ "y": 360
+ },
+ {
+ "x": 330,
+ "y": 330
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 360,
+ "y": 435
+ },
+ {
+ "x": 330,
+ "y": 420
+ },
+ {
+ "x": 300,
+ "y": 435
+ },
+ {
+ "x": 330,
+ "y": 450
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 300,
+ "y": 480
+ },
+ {
+ "x": 330,
+ "y": 450
+ },
+ {
+ "x": 330,
+ "y": 480
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 300,
+ "y": 600
+ },
+ {
+ "x": 360,
+ "y": 570
+ },
+ {
+ "x": 300,
+ "y": 540
+ },
+ {
+ "x": 360,
+ "y": 540
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 330,
+ "y": 690
+ },
+ {
+ "x": 300,
+ "y": 690
+ },
+ {
+ "x": 330,
+ "y": 660
+ },
+ {
+ "x": 360,
+ "y": 690
+ },
+ {
+ "x": 330,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 360,
+ "y": 795
+ },
+ {
+ "x": 330,
+ "y": 780
+ },
+ {
+ "x": 330,
+ "y": 840
+ },
+ {
+ "x": 300,
+ "y": 825
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 420,
+ "y": 60
+ },
+ {
+ "x": 480,
+ "y": 60
+ },
+ {
+ "x": 480,
+ "y": 60
+ }
+ ]
+ },
+ {
+ "type": "bezier",
+ "vertices": [
+ {
+ "x": 480,
+ "y": 60
+ },
+ {
+ "x": 375,
+ "y": 120
+ },
+ {
+ "x": 480,
+ "y": 120
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 420,
+ "y": 180
+ },
+ {
+ "x": 480,
+ "y": 240
+ },
+ {
+ "x": 420,
+ "y": 180
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 435,
+ "y": 315
+ },
+ {
+ "x": 420,
+ "y": 300
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 480,
+ "y": 360
+ },
+ {
+ "x": 465,
+ "y": 345
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 420,
+ "y": 330
+ },
+ {
+ "x": 450,
+ "y": 360
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 450,
+ "y": 300
+ },
+ {
+ "x": 480,
+ "y": 330
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 450,
+ "y": 330
+ },
+ {
+ "x": 450,
+ "y": 330
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 780,
+ "y": 495
+ },
+ {
+ "x": 840,
+ "y": 495
+ }
+ ]
+ },
+ {
+ "type": "bezier",
+ "vertices": [
+ {
+ "x": 840,
+ "y": 495
+ },
+ {
+ "x": 735,
+ "y": 555
+ },
+ {
+ "x": 840,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 795,
+ "y": 465
+ },
+ {
+ "x": 810,
+ "y": 480
+ },
+ {
+ "x": 825,
+ "y": 465
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 915,
+ "y": 510
+ },
+ {
+ "x": 885,
+ "y": 495
+ },
+ {
+ "x": 855,
+ "y": 510
+ },
+ {
+ "x": 885,
+ "y": 525
+ },
+ {
+ "x": 885,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 885,
+ "y": 525
+ },
+ {
+ "x": 855,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 930,
+ "y": 495
+ },
+ {
+ "x": 960,
+ "y": 525
+ },
+ {
+ "x": 990,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 930,
+ "y": 525
+ },
+ {
+ "x": 960,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 975,
+ "y": 495
+ },
+ {
+ "x": 990,
+ "y": 510
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 945,
+ "y": 465
+ },
+ {
+ "x": 960,
+ "y": 450
+ },
+ {
+ "x": 975,
+ "y": 465
+ },
+ {
+ "x": 960,
+ "y": 480
+ },
+ {
+ "x": 945,
+ "y": 465
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 735,
+ "y": 690
+ },
+ {
+ "x": 750,
+ "y": 705
+ },
+ {
+ "x": 765,
+ "y": 690
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 810,
+ "y": 690
+ },
+ {
+ "x": 825,
+ "y": 705
+ },
+ {
+ "x": 840,
+ "y": 690
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 840,
+ "y": 675
+ },
+ {
+ "x": 810,
+ "y": 675
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 885,
+ "y": 660
+ },
+ {
+ "x": 900,
+ "y": 675
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 930,
+ "y": 705
+ },
+ {
+ "x": 945,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 915,
+ "y": 690
+ },
+ {
+ "x": 915,
+ "y": 690
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 885,
+ "y": 690
+ },
+ {
+ "x": 915,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 915,
+ "y": 660
+ },
+ {
+ "x": 945,
+ "y": 690
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 900,
+ "y": 630
+ },
+ {
+ "x": 915,
+ "y": 645
+ },
+ {
+ "x": 930,
+ "y": 630
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 990,
+ "y": 660
+ },
+ {
+ "x": 1005,
+ "y": 675
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 1020,
+ "y": 690
+ },
+ {
+ "x": 1020,
+ "y": 690
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 1035,
+ "y": 705
+ },
+ {
+ "x": 1050,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 990,
+ "y": 690
+ },
+ {
+ "x": 1020,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 1005,
+ "y": 615
+ },
+ {
+ "x": 1035,
+ "y": 615
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 1005,
+ "y": 630
+ },
+ {
+ "x": 1020,
+ "y": 645
+ },
+ {
+ "x": 1035,
+ "y": 630
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 1020,
+ "y": 660
+ },
+ {
+ "x": 1050,
+ "y": 690
+ }
+ ]
+ }
+ ],
+ [],
+ []
+ ],
+ "styles": [
+ {
+ "thickness": 15,
+ "strokeLinecap": "square",
+ "strokeLinejoin": "round",
+ "color": "#ffffff",
+ "fill": "none",
+ "mirror_style": 0,
+ "transform": "rotate(45)"
+ },
+ {
+ "thickness": 15,
+ "strokeLinecap": "round",
+ "strokeLinejoin": "round",
+ "color": "#777777",
+ "fill": "none",
+ "mirror_style": 0,
+ "transform": "rotate(45)"
+ },
+ {
+ "thickness": 15,
+ "strokeLinecap": "round",
+ "strokeLinejoin": "round",
+ "color": "#444444",
+ "fill": "none",
+ "mirror_style": 0,
+ "transform": "rotate(45)"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/script/prototypes/dotgrid-20J06-472201.png b/script/prototypes/dotgrid-20J06-472201.png
new file mode 100644
index 0000000..50e4e35
Binary files /dev/null and b/script/prototypes/dotgrid-20J06-472201.png differ
diff --git a/script/script.grid b/script/script.grid
index 7e4a53f..5e3948b 100644
--- a/script/script.grid
+++ b/script/script.grid
@@ -54,19 +54,6 @@
}
]
},
- {
- "type": "line",
- "vertices": [
- {
- "x": 855,
- "y": 330
- },
- {
- "x": 885,
- "y": 330
- }
- ]
- },
{
"type": "arc_c",
"vertices": [
@@ -131,11 +118,11 @@
"vertices": [
{
"x": 75,
- "y": 150
+ "y": 210
},
{
"x": 105,
- "y": 150
+ "y": 210
}
]
},
@@ -144,15 +131,15 @@
"vertices": [
{
"x": 75,
- "y": 210
+ "y": 165
},
{
"x": 90,
- "y": 195
+ "y": 150
},
{
"x": 105,
- "y": 210
+ "y": 165
}
]
},
@@ -724,12 +711,513 @@
"type": "line",
"vertices": [
{
- "x": 450,
+ "x": 780,
+ "y": 495
+ },
+ {
+ "x": 840,
+ "y": 495
+ }
+ ]
+ },
+ {
+ "type": "bezier",
+ "vertices": [
+ {
+ "x": 840,
+ "y": 495
+ },
+ {
+ "x": 735,
+ "y": 555
+ },
+ {
+ "x": 840,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 795,
+ "y": 465
+ },
+ {
+ "x": 810,
+ "y": 480
+ },
+ {
+ "x": 825,
+ "y": 465
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 915,
+ "y": 510
+ },
+ {
+ "x": 885,
+ "y": 495
+ },
+ {
+ "x": 855,
+ "y": 510
+ },
+ {
+ "x": 885,
+ "y": 525
+ },
+ {
+ "x": 885,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 885,
+ "y": 525
+ },
+ {
+ "x": 855,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 930,
+ "y": 495
+ },
+ {
+ "x": 960,
+ "y": 525
+ },
+ {
+ "x": 990,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 930,
+ "y": 525
+ },
+ {
+ "x": 960,
+ "y": 555
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 975,
+ "y": 495
+ },
+ {
+ "x": 990,
+ "y": 510
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 945,
+ "y": 465
+ },
+ {
+ "x": 960,
+ "y": 450
+ },
+ {
+ "x": 975,
+ "y": 465
+ },
+ {
+ "x": 960,
+ "y": 480
+ },
+ {
+ "x": 945,
+ "y": 465
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 735,
+ "y": 690
+ },
+ {
+ "x": 750,
+ "y": 705
+ },
+ {
+ "x": 765,
+ "y": 690
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 810,
+ "y": 690
+ },
+ {
+ "x": 825,
+ "y": 705
+ },
+ {
+ "x": 840,
+ "y": 690
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 885,
+ "y": 660
+ },
+ {
+ "x": 900,
+ "y": 675
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 930,
+ "y": 705
+ },
+ {
+ "x": 945,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 885,
+ "y": 690
+ },
+ {
+ "x": 915,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 915,
+ "y": 660
+ },
+ {
+ "x": 945,
+ "y": 690
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 900,
+ "y": 630
+ },
+ {
+ "x": 915,
+ "y": 645
+ },
+ {
+ "x": 930,
+ "y": 630
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 990,
+ "y": 660
+ },
+ {
+ "x": 1005,
+ "y": 675
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 1035,
+ "y": 705
+ },
+ {
+ "x": 1050,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 990,
+ "y": 690
+ },
+ {
+ "x": 1020,
+ "y": 720
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 1020,
+ "y": 660
+ },
+ {
+ "x": 1050,
+ "y": 690
+ }
+ ]
+ },
+ {
+ "type": "arc_r",
+ "vertices": [
+ {
+ "x": 1620,
+ "y": 810
+ },
+ {
+ "x": 1650,
+ "y": 840
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 1620,
+ "y": 780
+ },
+ {
+ "x": 1650,
+ "y": 810
+ },
+ {
+ "x": 1680,
+ "y": 840
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 1665,
+ "y": 780
+ },
+ {
+ "x": 1680,
+ "y": 795
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 1635,
+ "y": 765
+ },
+ {
+ "x": 1665,
+ "y": 765
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 1635,
+ "y": 750
+ },
+ {
+ "x": 1650,
+ "y": 735
+ },
+ {
+ "x": 1665,
+ "y": 750
+ }
+ ]
+ },
+ {
+ "type": "arc_c",
+ "vertices": [
+ {
+ "x": 1710,
+ "y": 780
+ },
+ {
+ "x": 1710,
+ "y": 795
+ },
+ {
+ "x": 1770,
+ "y": 840
+ },
+ {
+ "x": 1710,
+ "y": 840
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 1725,
+ "y": 750
+ },
+ {
+ "x": 1755,
+ "y": 750
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 465,
+ "y": 315
+ },
+ {
+ "x": 435,
+ "y": 345
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 930,
+ "y": 675
+ },
+ {
+ "x": 900,
+ "y": 705
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 1005,
+ "y": 705
+ },
+ {
+ "x": 1035,
+ "y": 675
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 870,
+ "y": 345
+ },
+ {
+ "x": 885,
"y": 330
},
{
- "x": 450,
- "y": 330
+ "x": 900,
+ "y": 345
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 1035,
+ "y": 630
+ },
+ {
+ "x": 1020,
+ "y": 645
+ },
+ {
+ "x": 1005,
+ "y": 630
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 1005,
+ "y": 615
+ },
+ {
+ "x": 1035,
+ "y": 615
+ }
+ ]
+ },
+ {
+ "type": "line",
+ "vertices": [
+ {
+ "x": 810,
+ "y": 675
+ },
+ {
+ "x": 840,
+ "y": 675
}
]
}
diff --git a/script/script.png b/script/script.png
index 54dbaf4..df2cc60 100644
Binary files a/script/script.png and b/script/script.png differ
diff --git a/script/script.svg b/script/script.svg
index ab93b25..6d8ed8f 100644
--- a/script/script.svg
+++ b/script/script.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file