@altnovatrail/contracts 0.7.6 → 0.7.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.
- package/README.md +17 -0
- package/package.json +7 -2
- package/vectors/eval/v1/boxes.json +1440 -0
- package/vectors/eval/v1/crops.json +1065 -0
- package/vectors/eval/v1/groups.json +737 -0
- package/vectors/eval/v1/snaps.json +1060 -0
|
@@ -0,0 +1,737 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "The rule of the groups of strokes (contracts/README.md, section 12): from a history of writing to the strokes the sheet shows at the end, the pairs of them that are neighbours, their groups by place, the box of each group's points in tenths, and the groups of each stroke written and taken off. The cases but the last five are canvas's vectors/groups.json at its tag v0.1.2, each history as a sample writes it: times in whole milliseconds and no pressure.",
|
|
3
|
+
"rule": {"pause": 2000, "across": 50, "down": 50},
|
|
4
|
+
"cases": [
|
|
5
|
+
{
|
|
6
|
+
"name": "staircase",
|
|
7
|
+
"description": "The example of canvas's research into a child's writing and the AI tutor: a ladder of two posts and seven rungs, «30» beside it after a pause, «180 : 30 = 5» after another, the 5 erased, then 6, ringed.",
|
|
8
|
+
"history": {"events": [
|
|
9
|
+
{"t_ms": 800, "write": {"id": 1, "pointer": "pen", "points": [{"x": 100, "y": 300, "t_ms": 0}, {"x": 100, "y": 600, "t_ms": 800}]}},
|
|
10
|
+
{"t_ms": 1850, "write": {"id": 2, "pointer": "pen", "points": [{"x": 160, "y": 300, "t_ms": 1050}, {"x": 160, "y": 600, "t_ms": 1850}]}},
|
|
11
|
+
{"t_ms": 2260, "write": {"id": 3, "pointer": "pen", "points": [{"x": 100, "y": 600, "t_ms": 2100}, {"x": 160, "y": 600, "t_ms": 2260}]}},
|
|
12
|
+
{"t_ms": 2670, "write": {"id": 4, "pointer": "pen", "points": [{"x": 100, "y": 550, "t_ms": 2510}, {"x": 160, "y": 550, "t_ms": 2670}]}},
|
|
13
|
+
{"t_ms": 3080, "write": {"id": 5, "pointer": "pen", "points": [{"x": 100, "y": 500, "t_ms": 2920}, {"x": 160, "y": 500, "t_ms": 3080}]}},
|
|
14
|
+
{"t_ms": 3490, "write": {"id": 6, "pointer": "pen", "points": [{"x": 100, "y": 450, "t_ms": 3330}, {"x": 160, "y": 450, "t_ms": 3490}]}},
|
|
15
|
+
{"t_ms": 3900, "write": {"id": 7, "pointer": "pen", "points": [{"x": 100, "y": 400, "t_ms": 3740}, {"x": 160, "y": 400, "t_ms": 3900}]}},
|
|
16
|
+
{"t_ms": 4310, "write": {"id": 8, "pointer": "pen", "points": [{"x": 100, "y": 350, "t_ms": 4150}, {"x": 160, "y": 350, "t_ms": 4310}]}},
|
|
17
|
+
{"t_ms": 4720, "write": {"id": 9, "pointer": "pen", "points": [{"x": 100, "y": 300, "t_ms": 4560}, {"x": 160, "y": 300, "t_ms": 4720}]}},
|
|
18
|
+
{"t_ms": 7920, "write": {"id": 10, "pointer": "pen", "points": [{"x": 175, "y": 413.6, "t_ms": 7720}, {"x": 183, "y": 410, "t_ms": 7744}, {"x": 191, "y": 413.6, "t_ms": 7768}, {"x": 193, "y": 420.8, "t_ms": 7792}, {"x": 185, "y": 428, "t_ms": 7816}, {"x": 193, "y": 435.2, "t_ms": 7840}, {"x": 193, "y": 442.4, "t_ms": 7864}, {"x": 185, "y": 446, "t_ms": 7888}, {"x": 175, "y": 442.4, "t_ms": 7920}]}},
|
|
19
|
+
{"t_ms": 8410, "write": {"id": 11, "pointer": "pen", "points": [{"x": 211, "y": 410, "t_ms": 8170}, {"x": 217, "y": 413.6, "t_ms": 8186}, {"x": 221, "y": 424.4, "t_ms": 8218}, {"x": 221, "y": 431.6, "t_ms": 8242}, {"x": 217, "y": 442.4, "t_ms": 8274}, {"x": 211, "y": 446, "t_ms": 8290}, {"x": 205, "y": 442.4, "t_ms": 8306}, {"x": 201, "y": 431.6, "t_ms": 8338}, {"x": 201, "y": 424.4, "t_ms": 8362}, {"x": 205, "y": 413.6, "t_ms": 8394}, {"x": 211, "y": 410, "t_ms": 8410}]}},
|
|
20
|
+
{"t_ms": 11538, "write": {"id": 12, "pointer": "pen", "points": [{"x": 264, "y": 440.8, "t_ms": 11410}, {"x": 272, "y": 430, "t_ms": 11442}, {"x": 272, "y": 466, "t_ms": 11538}]}},
|
|
21
|
+
{"t_ms": 12108, "write": {"id": 13, "pointer": "pen", "points": [{"x": 296, "y": 448, "t_ms": 11788}, {"x": 288, "y": 440.8, "t_ms": 11812}, {"x": 290, "y": 430, "t_ms": 11844}, {"x": 302, "y": 430, "t_ms": 11876}, {"x": 304, "y": 440.8, "t_ms": 11908}, {"x": 296, "y": 448, "t_ms": 11932}, {"x": 286, "y": 455.2, "t_ms": 11964}, {"x": 288, "y": 466, "t_ms": 11996}, {"x": 304, "y": 466, "t_ms": 12044}, {"x": 306, "y": 455.2, "t_ms": 12076}, {"x": 296, "y": 448, "t_ms": 12108}]}},
|
|
22
|
+
{"t_ms": 12598, "write": {"id": 14, "pointer": "pen", "points": [{"x": 322, "y": 430, "t_ms": 12358}, {"x": 328, "y": 433.6, "t_ms": 12374}, {"x": 332, "y": 444.4, "t_ms": 12406}, {"x": 332, "y": 451.6, "t_ms": 12430}, {"x": 328, "y": 462.4, "t_ms": 12462}, {"x": 322, "y": 466, "t_ms": 12478}, {"x": 316, "y": 462.4, "t_ms": 12494}, {"x": 312, "y": 451.6, "t_ms": 12526}, {"x": 312, "y": 444.4, "t_ms": 12550}, {"x": 316, "y": 433.6, "t_ms": 12582}, {"x": 322, "y": 430, "t_ms": 12598}]}},
|
|
23
|
+
{"t_ms": 13128, "write": {"id": 15, "pointer": "pen", "points": [{"x": 374, "y": 440.8, "t_ms": 13098}, {"x": 374, "y": 440.8, "t_ms": 13128}]}},
|
|
24
|
+
{"t_ms": 13308, "write": {"id": 16, "pointer": "pen", "points": [{"x": 374, "y": 455.2, "t_ms": 13278}, {"x": 374, "y": 455.2, "t_ms": 13308}]}},
|
|
25
|
+
{"t_ms": 14008, "write": {"id": 17, "pointer": "pen", "points": [{"x": 416, "y": 433.6, "t_ms": 13808}, {"x": 424, "y": 430, "t_ms": 13832}, {"x": 432, "y": 433.6, "t_ms": 13856}, {"x": 434, "y": 440.8, "t_ms": 13880}, {"x": 426, "y": 448, "t_ms": 13904}, {"x": 434, "y": 455.2, "t_ms": 13928}, {"x": 434, "y": 462.4, "t_ms": 13952}, {"x": 426, "y": 466, "t_ms": 13976}, {"x": 416, "y": 462.4, "t_ms": 14008}]}},
|
|
26
|
+
{"t_ms": 14498, "write": {"id": 18, "pointer": "pen", "points": [{"x": 452, "y": 430, "t_ms": 14258}, {"x": 458, "y": 433.6, "t_ms": 14274}, {"x": 462, "y": 444.4, "t_ms": 14306}, {"x": 462, "y": 451.6, "t_ms": 14330}, {"x": 458, "y": 462.4, "t_ms": 14362}, {"x": 452, "y": 466, "t_ms": 14378}, {"x": 446, "y": 462.4, "t_ms": 14394}, {"x": 442, "y": 451.6, "t_ms": 14426}, {"x": 442, "y": 444.4, "t_ms": 14450}, {"x": 446, "y": 433.6, "t_ms": 14482}, {"x": 452, "y": 430, "t_ms": 14498}]}},
|
|
27
|
+
{"t_ms": 15046, "write": {"id": 19, "pointer": "pen", "points": [{"x": 496, "y": 440.8, "t_ms": 14998}, {"x": 512, "y": 440.8, "t_ms": 15046}]}},
|
|
28
|
+
{"t_ms": 15244, "write": {"id": 20, "pointer": "pen", "points": [{"x": 496, "y": 455.2, "t_ms": 15196}, {"x": 512, "y": 455.2, "t_ms": 15244}]}},
|
|
29
|
+
{"t_ms": 15920, "write": {"id": 21, "pointer": "pen", "points": [{"x": 548, "y": 430, "t_ms": 15744}, {"x": 548, "y": 444.4, "t_ms": 15784}, {"x": 558, "y": 444.4, "t_ms": 15816}, {"x": 564, "y": 451.6, "t_ms": 15840}, {"x": 564, "y": 458.8, "t_ms": 15864}, {"x": 558, "y": 466, "t_ms": 15888}, {"x": 546, "y": 462.4, "t_ms": 15920}]}},
|
|
30
|
+
{"t_ms": 16118, "write": {"id": 22, "pointer": "pen", "points": [{"x": 548, "y": 430, "t_ms": 16070}, {"x": 564, "y": 430, "t_ms": 16118}]}},
|
|
31
|
+
{"t_ms": 17818, "erase": {"ids": [21, 22]}},
|
|
32
|
+
{"t_ms": 19542, "write": {"id": 23, "pointer": "pen", "points": [{"x": 562, "y": 430, "t_ms": 19318}, {"x": 552, "y": 437.2, "t_ms": 19350}, {"x": 546, "y": 451.6, "t_ms": 19390}, {"x": 548, "y": 462.4, "t_ms": 19422}, {"x": 556, "y": 466, "t_ms": 19446}, {"x": 564, "y": 458.8, "t_ms": 19470}, {"x": 564, "y": 451.6, "t_ms": 19494}, {"x": 556, "y": 448, "t_ms": 19518}, {"x": 548, "y": 451.6, "t_ms": 19542}]}},
|
|
33
|
+
{"t_ms": 20326, "write": {"id": 24, "pointer": "pen", "points": [{"x": 556, "y": 420, "t_ms": 19942}, {"x": 566.8, "y": 425.6, "t_ms": 19974}, {"x": 574, "y": 442.4, "t_ms": 20022}, {"x": 574, "y": 453.6, "t_ms": 20054}, {"x": 566.8, "y": 470.4, "t_ms": 20102}, {"x": 556, "y": 476, "t_ms": 20134}, {"x": 545.2, "y": 470.4, "t_ms": 20166}, {"x": 538, "y": 453.6, "t_ms": 20214}, {"x": 538, "y": 442.4, "t_ms": 20246}, {"x": 545.2, "y": 425.6, "t_ms": 20294}, {"x": 556, "y": 420, "t_ms": 20326}]}}
|
|
34
|
+
]},
|
|
35
|
+
"visible": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 24],
|
|
36
|
+
"neighbours": [
|
|
37
|
+
[1, 3],
|
|
38
|
+
[1, 4],
|
|
39
|
+
[2, 3],
|
|
40
|
+
[2, 4],
|
|
41
|
+
[2, 5],
|
|
42
|
+
[2, 6],
|
|
43
|
+
[2, 7],
|
|
44
|
+
[3, 4],
|
|
45
|
+
[4, 5],
|
|
46
|
+
[5, 6],
|
|
47
|
+
[6, 7],
|
|
48
|
+
[7, 8],
|
|
49
|
+
[8, 9],
|
|
50
|
+
[10, 11],
|
|
51
|
+
[12, 13],
|
|
52
|
+
[12, 14],
|
|
53
|
+
[13, 14],
|
|
54
|
+
[14, 15],
|
|
55
|
+
[14, 16],
|
|
56
|
+
[15, 16],
|
|
57
|
+
[15, 17],
|
|
58
|
+
[16, 17],
|
|
59
|
+
[17, 18],
|
|
60
|
+
[18, 19],
|
|
61
|
+
[18, 20],
|
|
62
|
+
[19, 20],
|
|
63
|
+
[23, 24]
|
|
64
|
+
],
|
|
65
|
+
"groups": [
|
|
66
|
+
{"label": "A", "stroke_ids": [1, 2, 3, 4, 5, 6, 7, 8, 9]},
|
|
67
|
+
{"label": "B", "stroke_ids": [10, 11]},
|
|
68
|
+
{"label": "C", "stroke_ids": [23, 24]},
|
|
69
|
+
{"label": "D", "stroke_ids": [12, 13, 14, 15, 16, 17, 18, 19, 20]}
|
|
70
|
+
],
|
|
71
|
+
"group_boxes": [
|
|
72
|
+
{"ymin": 3000, "xmin": 1000, "ymax": 6000, "xmax": 1600},
|
|
73
|
+
{"ymin": 4100, "xmin": 1750, "ymax": 4460, "xmax": 2210},
|
|
74
|
+
{"ymin": 4200, "xmin": 5380, "ymax": 4760, "xmax": 5740},
|
|
75
|
+
{"ymin": 4300, "xmin": 2640, "ymax": 4660, "xmax": 5120}
|
|
76
|
+
],
|
|
77
|
+
"erased": [
|
|
78
|
+
{"stroke_id": 21, "labels": ["D"]},
|
|
79
|
+
{"stroke_id": 22, "labels": ["D"]}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "later",
|
|
84
|
+
"description": "«12 + 5 =», and 8 s later «17» right after it: what is written later next to old writing is a group of its own (R06 canvas).",
|
|
85
|
+
"history": {"events": [
|
|
86
|
+
{"t_ms": 128, "write": {"id": 1, "pointer": "pen", "points": [{"x": 104, "y": 210.8, "t_ms": 0}, {"x": 112, "y": 200, "t_ms": 32}, {"x": 112, "y": 236, "t_ms": 128}]}},
|
|
87
|
+
{"t_ms": 586, "write": {"id": 2, "pointer": "pen", "points": [{"x": 126, "y": 207.2, "t_ms": 378}, {"x": 132, "y": 200, "t_ms": 402}, {"x": 140, "y": 200, "t_ms": 426}, {"x": 146, "y": 210.8, "t_ms": 458}, {"x": 144, "y": 218, "t_ms": 482}, {"x": 126, "y": 236, "t_ms": 530}, {"x": 146, "y": 236, "t_ms": 586}]}},
|
|
88
|
+
{"t_ms": 1150, "write": {"id": 3, "pointer": "pen", "points": [{"x": 188, "y": 207.2, "t_ms": 1086}, {"x": 188, "y": 228.8, "t_ms": 1150}]}},
|
|
89
|
+
{"t_ms": 1332, "write": {"id": 4, "pointer": "pen", "points": [{"x": 182, "y": 218, "t_ms": 1300}, {"x": 194, "y": 218, "t_ms": 1332}]}},
|
|
90
|
+
{"t_ms": 2008, "write": {"id": 5, "pointer": "pen", "points": [{"x": 232, "y": 200, "t_ms": 1832}, {"x": 232, "y": 214.4, "t_ms": 1872}, {"x": 242, "y": 214.4, "t_ms": 1904}, {"x": 248, "y": 221.6, "t_ms": 1928}, {"x": 248, "y": 228.8, "t_ms": 1952}, {"x": 242, "y": 236, "t_ms": 1976}, {"x": 230, "y": 232.4, "t_ms": 2008}]}},
|
|
91
|
+
{"t_ms": 2206, "write": {"id": 6, "pointer": "pen", "points": [{"x": 232, "y": 200, "t_ms": 2158}, {"x": 248, "y": 200, "t_ms": 2206}]}},
|
|
92
|
+
{"t_ms": 2754, "write": {"id": 7, "pointer": "pen", "points": [{"x": 284, "y": 210.8, "t_ms": 2706}, {"x": 300, "y": 210.8, "t_ms": 2754}]}},
|
|
93
|
+
{"t_ms": 2952, "write": {"id": 8, "pointer": "pen", "points": [{"x": 284, "y": 225.2, "t_ms": 2904}, {"x": 300, "y": 225.2, "t_ms": 2952}]}},
|
|
94
|
+
{"t_ms": 11080, "write": {"id": 9, "pointer": "pen", "points": [{"x": 338, "y": 210.8, "t_ms": 10952}, {"x": 346, "y": 200, "t_ms": 10984}, {"x": 346, "y": 236, "t_ms": 11080}]}},
|
|
95
|
+
{"t_ms": 11482, "write": {"id": 10, "pointer": "pen", "points": [{"x": 360, "y": 200, "t_ms": 11330}, {"x": 380, "y": 200, "t_ms": 11386}, {"x": 368, "y": 236, "t_ms": 11482}]}}
|
|
96
|
+
]},
|
|
97
|
+
"visible": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
|
98
|
+
"neighbours": [
|
|
99
|
+
[1, 2],
|
|
100
|
+
[2, 3],
|
|
101
|
+
[2, 4],
|
|
102
|
+
[3, 4],
|
|
103
|
+
[3, 5],
|
|
104
|
+
[3, 6],
|
|
105
|
+
[4, 5],
|
|
106
|
+
[4, 6],
|
|
107
|
+
[5, 6],
|
|
108
|
+
[5, 7],
|
|
109
|
+
[5, 8],
|
|
110
|
+
[6, 7],
|
|
111
|
+
[6, 8],
|
|
112
|
+
[7, 8],
|
|
113
|
+
[9, 10]
|
|
114
|
+
],
|
|
115
|
+
"groups": [
|
|
116
|
+
{"label": "A", "stroke_ids": [1, 2, 3, 4, 5, 6, 7, 8]},
|
|
117
|
+
{"label": "B", "stroke_ids": [9, 10]}
|
|
118
|
+
],
|
|
119
|
+
"group_boxes": [
|
|
120
|
+
{"ymin": 2000, "xmin": 1040, "ymax": 2360, "xmax": 3000},
|
|
121
|
+
{"ymin": 2000, "xmin": 3380, "ymax": 2360, "xmax": 3800}
|
|
122
|
+
],
|
|
123
|
+
"erased": []
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"name": "lines",
|
|
127
|
+
"description": "Two lines a cell apart, the second begun 1.5 s after the first, with no pause to think: a group each.",
|
|
128
|
+
"history": {"events": [
|
|
129
|
+
{"t_ms": 128, "write": {"id": 1, "pointer": "pen", "points": [{"x": 104, "y": 210.8, "t_ms": 0}, {"x": 112, "y": 200, "t_ms": 32}, {"x": 112, "y": 236, "t_ms": 128}]}},
|
|
130
|
+
{"t_ms": 586, "write": {"id": 2, "pointer": "pen", "points": [{"x": 126, "y": 207.2, "t_ms": 378}, {"x": 132, "y": 200, "t_ms": 402}, {"x": 140, "y": 200, "t_ms": 426}, {"x": 146, "y": 210.8, "t_ms": 458}, {"x": 144, "y": 218, "t_ms": 482}, {"x": 126, "y": 236, "t_ms": 530}, {"x": 146, "y": 236, "t_ms": 586}]}},
|
|
131
|
+
{"t_ms": 1150, "write": {"id": 3, "pointer": "pen", "points": [{"x": 188, "y": 207.2, "t_ms": 1086}, {"x": 188, "y": 228.8, "t_ms": 1150}]}},
|
|
132
|
+
{"t_ms": 1332, "write": {"id": 4, "pointer": "pen", "points": [{"x": 182, "y": 218, "t_ms": 1300}, {"x": 194, "y": 218, "t_ms": 1332}]}},
|
|
133
|
+
{"t_ms": 2008, "write": {"id": 5, "pointer": "pen", "points": [{"x": 232, "y": 200, "t_ms": 1832}, {"x": 232, "y": 214.4, "t_ms": 1872}, {"x": 242, "y": 214.4, "t_ms": 1904}, {"x": 248, "y": 221.6, "t_ms": 1928}, {"x": 248, "y": 228.8, "t_ms": 1952}, {"x": 242, "y": 236, "t_ms": 1976}, {"x": 230, "y": 232.4, "t_ms": 2008}]}},
|
|
134
|
+
{"t_ms": 2206, "write": {"id": 6, "pointer": "pen", "points": [{"x": 232, "y": 200, "t_ms": 2158}, {"x": 248, "y": 200, "t_ms": 2206}]}},
|
|
135
|
+
{"t_ms": 2754, "write": {"id": 7, "pointer": "pen", "points": [{"x": 284, "y": 210.8, "t_ms": 2706}, {"x": 300, "y": 210.8, "t_ms": 2754}]}},
|
|
136
|
+
{"t_ms": 2952, "write": {"id": 8, "pointer": "pen", "points": [{"x": 284, "y": 225.2, "t_ms": 2904}, {"x": 300, "y": 225.2, "t_ms": 2952}]}},
|
|
137
|
+
{"t_ms": 3580, "write": {"id": 9, "pointer": "pen", "points": [{"x": 338, "y": 210.8, "t_ms": 3452}, {"x": 346, "y": 200, "t_ms": 3484}, {"x": 346, "y": 236, "t_ms": 3580}]}},
|
|
138
|
+
{"t_ms": 3982, "write": {"id": 10, "pointer": "pen", "points": [{"x": 360, "y": 200, "t_ms": 3830}, {"x": 380, "y": 200, "t_ms": 3886}, {"x": 368, "y": 236, "t_ms": 3982}]}},
|
|
139
|
+
{"t_ms": 5610, "write": {"id": 11, "pointer": "pen", "points": [{"x": 104, "y": 260.8, "t_ms": 5482}, {"x": 112, "y": 250, "t_ms": 5514}, {"x": 112, "y": 286, "t_ms": 5610}]}},
|
|
140
|
+
{"t_ms": 6012, "write": {"id": 12, "pointer": "pen", "points": [{"x": 126, "y": 250, "t_ms": 5860}, {"x": 146, "y": 250, "t_ms": 5916}, {"x": 134, "y": 286, "t_ms": 6012}]}},
|
|
141
|
+
{"t_ms": 6560, "write": {"id": 13, "pointer": "pen", "points": [{"x": 180, "y": 268, "t_ms": 6512}, {"x": 196, "y": 268, "t_ms": 6560}]}},
|
|
142
|
+
{"t_ms": 7188, "write": {"id": 14, "pointer": "pen", "points": [{"x": 244, "y": 250, "t_ms": 7060}, {"x": 230, "y": 275.2, "t_ms": 7132}, {"x": 250, "y": 275.2, "t_ms": 7188}]}},
|
|
143
|
+
{"t_ms": 7410, "write": {"id": 15, "pointer": "pen", "points": [{"x": 244, "y": 260.8, "t_ms": 7338}, {"x": 244, "y": 286, "t_ms": 7410}]}},
|
|
144
|
+
{"t_ms": 7958, "write": {"id": 16, "pointer": "pen", "points": [{"x": 284, "y": 260.8, "t_ms": 7910}, {"x": 300, "y": 260.8, "t_ms": 7958}]}},
|
|
145
|
+
{"t_ms": 8156, "write": {"id": 17, "pointer": "pen", "points": [{"x": 284, "y": 275.2, "t_ms": 8108}, {"x": 300, "y": 275.2, "t_ms": 8156}]}},
|
|
146
|
+
{"t_ms": 8784, "write": {"id": 18, "pointer": "pen", "points": [{"x": 338, "y": 260.8, "t_ms": 8656}, {"x": 346, "y": 250, "t_ms": 8688}, {"x": 346, "y": 286, "t_ms": 8784}]}},
|
|
147
|
+
{"t_ms": 9234, "write": {"id": 19, "pointer": "pen", "points": [{"x": 360, "y": 253.6, "t_ms": 9034}, {"x": 368, "y": 250, "t_ms": 9058}, {"x": 376, "y": 253.6, "t_ms": 9082}, {"x": 378, "y": 260.8, "t_ms": 9106}, {"x": 370, "y": 268, "t_ms": 9130}, {"x": 378, "y": 275.2, "t_ms": 9154}, {"x": 378, "y": 282.4, "t_ms": 9178}, {"x": 370, "y": 286, "t_ms": 9202}, {"x": 360, "y": 282.4, "t_ms": 9234}]}}
|
|
148
|
+
]},
|
|
149
|
+
"visible": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
|
|
150
|
+
"neighbours": [
|
|
151
|
+
[1, 2],
|
|
152
|
+
[2, 3],
|
|
153
|
+
[2, 4],
|
|
154
|
+
[3, 4],
|
|
155
|
+
[3, 5],
|
|
156
|
+
[3, 6],
|
|
157
|
+
[4, 5],
|
|
158
|
+
[4, 6],
|
|
159
|
+
[5, 6],
|
|
160
|
+
[5, 7],
|
|
161
|
+
[5, 8],
|
|
162
|
+
[6, 7],
|
|
163
|
+
[6, 8],
|
|
164
|
+
[7, 8],
|
|
165
|
+
[7, 9],
|
|
166
|
+
[8, 9],
|
|
167
|
+
[9, 10],
|
|
168
|
+
[11, 12],
|
|
169
|
+
[12, 13],
|
|
170
|
+
[13, 14],
|
|
171
|
+
[13, 15],
|
|
172
|
+
[14, 15],
|
|
173
|
+
[14, 16],
|
|
174
|
+
[14, 17],
|
|
175
|
+
[15, 16],
|
|
176
|
+
[15, 17],
|
|
177
|
+
[16, 17],
|
|
178
|
+
[16, 18],
|
|
179
|
+
[17, 18],
|
|
180
|
+
[18, 19]
|
|
181
|
+
],
|
|
182
|
+
"groups": [
|
|
183
|
+
{"label": "A", "stroke_ids": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},
|
|
184
|
+
{"label": "B", "stroke_ids": [11, 12, 13, 14, 15, 16, 17, 18, 19]}
|
|
185
|
+
],
|
|
186
|
+
"group_boxes": [
|
|
187
|
+
{"ymin": 2000, "xmin": 1040, "ymax": 2360, "xmax": 3800},
|
|
188
|
+
{"ymin": 2500, "xmin": 1040, "ymax": 2860, "xmax": 3780}
|
|
189
|
+
],
|
|
190
|
+
"erased": []
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"name": "signs",
|
|
194
|
+
"description": "3/4 + 1/4 = 1 in fractions over bars, underlined; 3 s later «12 : 4 = 3» below: a group each, with their bars, dots and lines.",
|
|
195
|
+
"history": {"events": [
|
|
196
|
+
{"t_ms": 176, "write": {"id": 1, "pointer": "pen", "points": [{"x": 100, "y": 303, "t_ms": 0}, {"x": 107.2, "y": 300, "t_ms": 24}, {"x": 114.4, "y": 303, "t_ms": 48}, {"x": 116.2, "y": 309, "t_ms": 64}, {"x": 109, "y": 315, "t_ms": 88}, {"x": 116.2, "y": 321, "t_ms": 112}, {"x": 116.2, "y": 327, "t_ms": 128}, {"x": 109, "y": 330, "t_ms": 152}, {"x": 100, "y": 327, "t_ms": 176}]}},
|
|
197
|
+
{"t_ms": 490, "write": {"id": 2, "pointer": "pen", "points": [{"x": 98, "y": 336, "t_ms": 426}, {"x": 120, "y": 336, "t_ms": 490}]}},
|
|
198
|
+
{"t_ms": 844, "write": {"id": 3, "pointer": "pen", "points": [{"x": 112.6, "y": 342, "t_ms": 740}, {"x": 100, "y": 363, "t_ms": 796}, {"x": 118, "y": 363, "t_ms": 844}]}},
|
|
199
|
+
{"t_ms": 1050, "write": {"id": 4, "pointer": "pen", "points": [{"x": 112.6, "y": 351, "t_ms": 994}, {"x": 112.6, "y": 372, "t_ms": 1050}]}},
|
|
200
|
+
{"t_ms": 1348, "write": {"id": 5, "pointer": "pen", "points": [{"x": 139, "y": 327, "t_ms": 1300}, {"x": 139, "y": 345, "t_ms": 1348}]}},
|
|
201
|
+
{"t_ms": 1530, "write": {"id": 6, "pointer": "pen", "points": [{"x": 133.6, "y": 336, "t_ms": 1498}, {"x": 144.4, "y": 336, "t_ms": 1530}]}},
|
|
202
|
+
{"t_ms": 1884, "write": {"id": 7, "pointer": "pen", "points": [{"x": 163.6, "y": 309, "t_ms": 1780}, {"x": 170.8, "y": 300, "t_ms": 1804}, {"x": 170.8, "y": 330, "t_ms": 1884}]}},
|
|
203
|
+
{"t_ms": 2198, "write": {"id": 8, "pointer": "pen", "points": [{"x": 158, "y": 336, "t_ms": 2134}, {"x": 180, "y": 336, "t_ms": 2198}]}},
|
|
204
|
+
{"t_ms": 2552, "write": {"id": 9, "pointer": "pen", "points": [{"x": 172.6, "y": 342, "t_ms": 2448}, {"x": 160, "y": 363, "t_ms": 2504}, {"x": 178, "y": 363, "t_ms": 2552}]}},
|
|
205
|
+
{"t_ms": 2758, "write": {"id": 10, "pointer": "pen", "points": [{"x": 172.6, "y": 351, "t_ms": 2702}, {"x": 172.6, "y": 372, "t_ms": 2758}]}},
|
|
206
|
+
{"t_ms": 3048, "write": {"id": 11, "pointer": "pen", "points": [{"x": 191.8, "y": 330, "t_ms": 3008}, {"x": 206.2, "y": 330, "t_ms": 3048}]}},
|
|
207
|
+
{"t_ms": 3238, "write": {"id": 12, "pointer": "pen", "points": [{"x": 191.8, "y": 342, "t_ms": 3198}, {"x": 206.2, "y": 342, "t_ms": 3238}]}},
|
|
208
|
+
{"t_ms": 3616, "write": {"id": 13, "pointer": "pen", "points": [{"x": 224, "y": 328.8, "t_ms": 3488}, {"x": 232, "y": 318, "t_ms": 3520}, {"x": 232, "y": 354, "t_ms": 3616}]}},
|
|
209
|
+
{"t_ms": 4416, "write": {"id": 14, "pointer": "pen", "points": [{"x": 95, "y": 378, "t_ms": 4016}, {"x": 245, "y": 378, "t_ms": 4416}]}},
|
|
210
|
+
{"t_ms": 7544, "write": {"id": 15, "pointer": "pen", "points": [{"x": 104, "y": 440.8, "t_ms": 7416}, {"x": 112, "y": 430, "t_ms": 7448}, {"x": 112, "y": 466, "t_ms": 7544}]}},
|
|
211
|
+
{"t_ms": 8002, "write": {"id": 16, "pointer": "pen", "points": [{"x": 126, "y": 437.2, "t_ms": 7794}, {"x": 132, "y": 430, "t_ms": 7818}, {"x": 140, "y": 430, "t_ms": 7842}, {"x": 146, "y": 440.8, "t_ms": 7874}, {"x": 144, "y": 448, "t_ms": 7898}, {"x": 126, "y": 466, "t_ms": 7946}, {"x": 146, "y": 466, "t_ms": 8002}]}},
|
|
212
|
+
{"t_ms": 8532, "write": {"id": 17, "pointer": "pen", "points": [{"x": 188, "y": 440.8, "t_ms": 8502}, {"x": 188, "y": 440.8, "t_ms": 8532}]}},
|
|
213
|
+
{"t_ms": 8712, "write": {"id": 18, "pointer": "pen", "points": [{"x": 188, "y": 455.2, "t_ms": 8682}, {"x": 188, "y": 455.2, "t_ms": 8712}]}},
|
|
214
|
+
{"t_ms": 9340, "write": {"id": 19, "pointer": "pen", "points": [{"x": 244, "y": 430, "t_ms": 9212}, {"x": 230, "y": 455.2, "t_ms": 9284}, {"x": 250, "y": 455.2, "t_ms": 9340}]}},
|
|
215
|
+
{"t_ms": 9562, "write": {"id": 20, "pointer": "pen", "points": [{"x": 244, "y": 440.8, "t_ms": 9490}, {"x": 244, "y": 466, "t_ms": 9562}]}},
|
|
216
|
+
{"t_ms": 10110, "write": {"id": 21, "pointer": "pen", "points": [{"x": 284, "y": 440.8, "t_ms": 10062}, {"x": 300, "y": 440.8, "t_ms": 10110}]}},
|
|
217
|
+
{"t_ms": 10308, "write": {"id": 22, "pointer": "pen", "points": [{"x": 284, "y": 455.2, "t_ms": 10260}, {"x": 300, "y": 455.2, "t_ms": 10308}]}},
|
|
218
|
+
{"t_ms": 11008, "write": {"id": 23, "pointer": "pen", "points": [{"x": 334, "y": 433.6, "t_ms": 10808}, {"x": 342, "y": 430, "t_ms": 10832}, {"x": 350, "y": 433.6, "t_ms": 10856}, {"x": 352, "y": 440.8, "t_ms": 10880}, {"x": 344, "y": 448, "t_ms": 10904}, {"x": 352, "y": 455.2, "t_ms": 10928}, {"x": 352, "y": 462.4, "t_ms": 10952}, {"x": 344, "y": 466, "t_ms": 10976}, {"x": 334, "y": 462.4, "t_ms": 11008}]}}
|
|
219
|
+
]},
|
|
220
|
+
"visible": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23],
|
|
221
|
+
"neighbours": [
|
|
222
|
+
[1, 2],
|
|
223
|
+
[1, 3],
|
|
224
|
+
[1, 4],
|
|
225
|
+
[1, 5],
|
|
226
|
+
[1, 6],
|
|
227
|
+
[1, 7],
|
|
228
|
+
[1, 8],
|
|
229
|
+
[2, 3],
|
|
230
|
+
[2, 4],
|
|
231
|
+
[2, 5],
|
|
232
|
+
[2, 6],
|
|
233
|
+
[2, 7],
|
|
234
|
+
[2, 8],
|
|
235
|
+
[2, 9],
|
|
236
|
+
[3, 4],
|
|
237
|
+
[3, 5],
|
|
238
|
+
[3, 6],
|
|
239
|
+
[3, 7],
|
|
240
|
+
[3, 8],
|
|
241
|
+
[3, 9],
|
|
242
|
+
[4, 5],
|
|
243
|
+
[4, 6],
|
|
244
|
+
[4, 8],
|
|
245
|
+
[4, 9],
|
|
246
|
+
[5, 6],
|
|
247
|
+
[5, 7],
|
|
248
|
+
[5, 8],
|
|
249
|
+
[5, 9],
|
|
250
|
+
[5, 10],
|
|
251
|
+
[6, 7],
|
|
252
|
+
[6, 8],
|
|
253
|
+
[6, 9],
|
|
254
|
+
[6, 10],
|
|
255
|
+
[6, 11],
|
|
256
|
+
[6, 12],
|
|
257
|
+
[7, 8],
|
|
258
|
+
[7, 9],
|
|
259
|
+
[7, 10],
|
|
260
|
+
[7, 11],
|
|
261
|
+
[7, 12],
|
|
262
|
+
[8, 9],
|
|
263
|
+
[8, 10],
|
|
264
|
+
[8, 11],
|
|
265
|
+
[8, 12],
|
|
266
|
+
[8, 13],
|
|
267
|
+
[8, 14],
|
|
268
|
+
[9, 10],
|
|
269
|
+
[9, 11],
|
|
270
|
+
[9, 12],
|
|
271
|
+
[9, 13],
|
|
272
|
+
[9, 14],
|
|
273
|
+
[10, 11],
|
|
274
|
+
[10, 12],
|
|
275
|
+
[10, 14],
|
|
276
|
+
[11, 12],
|
|
277
|
+
[11, 13],
|
|
278
|
+
[11, 14],
|
|
279
|
+
[12, 13],
|
|
280
|
+
[12, 14],
|
|
281
|
+
[13, 14],
|
|
282
|
+
[15, 16],
|
|
283
|
+
[16, 17],
|
|
284
|
+
[16, 18],
|
|
285
|
+
[17, 18],
|
|
286
|
+
[17, 19],
|
|
287
|
+
[18, 19],
|
|
288
|
+
[19, 20],
|
|
289
|
+
[19, 21],
|
|
290
|
+
[19, 22],
|
|
291
|
+
[20, 21],
|
|
292
|
+
[20, 22],
|
|
293
|
+
[21, 22],
|
|
294
|
+
[21, 23],
|
|
295
|
+
[22, 23]
|
|
296
|
+
],
|
|
297
|
+
"groups": [
|
|
298
|
+
{"label": "A", "stroke_ids": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]},
|
|
299
|
+
{"label": "B", "stroke_ids": [15, 16, 17, 18, 19, 20, 21, 22, 23]}
|
|
300
|
+
],
|
|
301
|
+
"group_boxes": [
|
|
302
|
+
{"ymin": 3000, "xmin": 950, "ymax": 3780, "xmax": 2450},
|
|
303
|
+
{"ymin": 4300, "xmin": 1040, "ymax": 4660, "xmax": 3520}
|
|
304
|
+
],
|
|
305
|
+
"erased": []
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"name": "words",
|
|
309
|
+
"description": "Two lines of joined-up words, each word a stroke, with the dot of an i put after its word: a group a line.",
|
|
310
|
+
"history": {"events": [
|
|
311
|
+
{"t_ms": 560, "write": {"id": 1, "pointer": "pen", "points": [{"x": 100, "y": 520, "t_ms": 0}, {"x": 106, "y": 500, "t_ms": 56}, {"x": 112, "y": 520, "t_ms": 112}, {"x": 118, "y": 500, "t_ms": 168}, {"x": 124, "y": 520, "t_ms": 224}, {"x": 130, "y": 500, "t_ms": 280}, {"x": 136, "y": 520, "t_ms": 336}, {"x": 142, "y": 500, "t_ms": 392}, {"x": 148, "y": 520, "t_ms": 448}, {"x": 154, "y": 500, "t_ms": 504}, {"x": 160, "y": 520, "t_ms": 560}]}},
|
|
312
|
+
{"t_ms": 890, "write": {"id": 2, "pointer": "pen", "points": [{"x": 130, "y": 490, "t_ms": 860}, {"x": 130, "y": 490, "t_ms": 890}]}},
|
|
313
|
+
{"t_ms": 1364, "write": {"id": 3, "pointer": "pen", "points": [{"x": 180, "y": 520, "t_ms": 1140}, {"x": 186, "y": 500, "t_ms": 1196}, {"x": 192, "y": 520, "t_ms": 1252}, {"x": 198, "y": 500, "t_ms": 1308}, {"x": 204, "y": 520, "t_ms": 1364}]}},
|
|
314
|
+
{"t_ms": 1694, "write": {"id": 4, "pointer": "pen", "points": [{"x": 186, "y": 490, "t_ms": 1664}, {"x": 186, "y": 490, "t_ms": 1694}]}},
|
|
315
|
+
{"t_ms": 2392, "write": {"id": 5, "pointer": "pen", "points": [{"x": 224, "y": 520, "t_ms": 1944}, {"x": 230, "y": 500, "t_ms": 2000}, {"x": 236, "y": 520, "t_ms": 2056}, {"x": 242, "y": 500, "t_ms": 2112}, {"x": 248, "y": 520, "t_ms": 2168}, {"x": 254, "y": 500, "t_ms": 2224}, {"x": 260, "y": 520, "t_ms": 2280}, {"x": 266, "y": 500, "t_ms": 2336}, {"x": 272, "y": 520, "t_ms": 2392}]}},
|
|
316
|
+
{"t_ms": 4228, "write": {"id": 6, "pointer": "pen", "points": [{"x": 100, "y": 580, "t_ms": 3892}, {"x": 106, "y": 560, "t_ms": 3948}, {"x": 112, "y": 580, "t_ms": 4004}, {"x": 118, "y": 560, "t_ms": 4060}, {"x": 124, "y": 580, "t_ms": 4116}, {"x": 130, "y": 560, "t_ms": 4172}, {"x": 136, "y": 580, "t_ms": 4228}]}},
|
|
317
|
+
{"t_ms": 5150, "write": {"id": 7, "pointer": "pen", "points": [{"x": 156, "y": 580, "t_ms": 4478}, {"x": 162, "y": 560, "t_ms": 4534}, {"x": 168, "y": 580, "t_ms": 4590}, {"x": 174, "y": 560, "t_ms": 4646}, {"x": 180, "y": 580, "t_ms": 4702}, {"x": 186, "y": 560, "t_ms": 4758}, {"x": 192, "y": 580, "t_ms": 4814}, {"x": 198, "y": 560, "t_ms": 4870}, {"x": 204, "y": 580, "t_ms": 4926}, {"x": 210, "y": 560, "t_ms": 4982}, {"x": 216, "y": 580, "t_ms": 5038}, {"x": 222, "y": 560, "t_ms": 5094}, {"x": 228, "y": 580, "t_ms": 5150}]}},
|
|
318
|
+
{"t_ms": 5480, "write": {"id": 8, "pointer": "pen", "points": [{"x": 162, "y": 550, "t_ms": 5450}, {"x": 162, "y": 550, "t_ms": 5480}]}}
|
|
319
|
+
]},
|
|
320
|
+
"visible": [1, 2, 3, 4, 5, 6, 7, 8],
|
|
321
|
+
"neighbours": [
|
|
322
|
+
[1, 2],
|
|
323
|
+
[1, 3],
|
|
324
|
+
[1, 4],
|
|
325
|
+
[2, 3],
|
|
326
|
+
[3, 4],
|
|
327
|
+
[3, 5],
|
|
328
|
+
[4, 5],
|
|
329
|
+
[6, 7],
|
|
330
|
+
[6, 8],
|
|
331
|
+
[7, 8]
|
|
332
|
+
],
|
|
333
|
+
"groups": [
|
|
334
|
+
{"label": "A", "stroke_ids": [1, 2, 3, 4, 5]},
|
|
335
|
+
{"label": "B", "stroke_ids": [6, 7, 8]}
|
|
336
|
+
],
|
|
337
|
+
"group_boxes": [
|
|
338
|
+
{"ymin": 4900, "xmin": 1000, "ymax": 5200, "xmax": 2720},
|
|
339
|
+
{"ymin": 5500, "xmin": 1000, "ymax": 5800, "xmax": 2280}
|
|
340
|
+
],
|
|
341
|
+
"erased": []
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"name": "tutor",
|
|
345
|
+
"description": "Two lines as tutor's synthetic writer draws them: digits 36 high, 26 apart, lines 80 apart, 1.5 s before a line and 120 to 249 ms between strokes.",
|
|
346
|
+
"history": {"events": [
|
|
347
|
+
{"t_ms": 128, "write": {"id": 1, "pointer": "pen", "points": [{"x": 74, "y": 100, "t_ms": 0}, {"x": 60, "y": 125.2, "t_ms": 72}, {"x": 80, "y": 125.2, "t_ms": 128}]}},
|
|
348
|
+
{"t_ms": 373, "write": {"id": 2, "pointer": "pen", "points": [{"x": 74, "y": 110.8, "t_ms": 301}, {"x": 74, "y": 136, "t_ms": 373}]}},
|
|
349
|
+
{"t_ms": 716, "write": {"id": 3, "pointer": "pen", "points": [{"x": 86, "y": 100, "t_ms": 564}, {"x": 106, "y": 100, "t_ms": 620}, {"x": 94, "y": 136, "t_ms": 716}]}},
|
|
350
|
+
{"t_ms": 1115, "write": {"id": 4, "pointer": "pen", "points": [{"x": 148, "y": 107.2, "t_ms": 1051}, {"x": 148, "y": 128.8, "t_ms": 1115}]}},
|
|
351
|
+
{"t_ms": 1320, "write": {"id": 5, "pointer": "pen", "points": [{"x": 142, "y": 118, "t_ms": 1288}, {"x": 154, "y": 118, "t_ms": 1320}]}},
|
|
352
|
+
{"t_ms": 1807, "write": {"id": 6, "pointer": "pen", "points": [{"x": 194, "y": 110.8, "t_ms": 1679}, {"x": 202, "y": 100, "t_ms": 1711}, {"x": 202, "y": 136, "t_ms": 1807}]}},
|
|
353
|
+
{"t_ms": 2187, "write": {"id": 7, "pointer": "pen", "points": [{"x": 234, "y": 114.4, "t_ms": 1963}, {"x": 226, "y": 118, "t_ms": 1987}, {"x": 218, "y": 114.4, "t_ms": 2011}, {"x": 218, "y": 103.6, "t_ms": 2043}, {"x": 226, "y": 100, "t_ms": 2067}, {"x": 234, "y": 103.6, "t_ms": 2091}, {"x": 234, "y": 114.4, "t_ms": 2123}, {"x": 232, "y": 136, "t_ms": 2187}]}},
|
|
354
|
+
{"t_ms": 2630, "write": {"id": 8, "pointer": "pen", "points": [{"x": 270, "y": 110.8, "t_ms": 2582}, {"x": 286, "y": 110.8, "t_ms": 2630}]}},
|
|
355
|
+
{"t_ms": 2851, "write": {"id": 9, "pointer": "pen", "points": [{"x": 270, "y": 125.2, "t_ms": 2803}, {"x": 286, "y": 125.2, "t_ms": 2851}]}},
|
|
356
|
+
{"t_ms": 3494, "write": {"id": 10, "pointer": "pen", "points": [{"x": 336, "y": 100, "t_ms": 3270}, {"x": 326, "y": 107.2, "t_ms": 3302}, {"x": 320, "y": 121.6, "t_ms": 3342}, {"x": 322, "y": 132.4, "t_ms": 3374}, {"x": 330, "y": 136, "t_ms": 3398}, {"x": 338, "y": 128.8, "t_ms": 3422}, {"x": 338, "y": 121.6, "t_ms": 3446}, {"x": 330, "y": 118, "t_ms": 3470}, {"x": 322, "y": 121.6, "t_ms": 3494}]}},
|
|
357
|
+
{"t_ms": 3839, "write": {"id": 11, "pointer": "pen", "points": [{"x": 362, "y": 100, "t_ms": 3615}, {"x": 352, "y": 107.2, "t_ms": 3647}, {"x": 346, "y": 121.6, "t_ms": 3687}, {"x": 348, "y": 132.4, "t_ms": 3719}, {"x": 356, "y": 136, "t_ms": 3743}, {"x": 364, "y": 128.8, "t_ms": 3767}, {"x": 364, "y": 121.6, "t_ms": 3791}, {"x": 356, "y": 118, "t_ms": 3815}, {"x": 348, "y": 121.6, "t_ms": 3839}]}},
|
|
358
|
+
{"t_ms": 5563, "write": {"id": 12, "pointer": "pen", "points": [{"x": 76, "y": 180, "t_ms": 5339}, {"x": 66, "y": 187.2, "t_ms": 5371}, {"x": 60, "y": 201.6, "t_ms": 5411}, {"x": 62, "y": 212.4, "t_ms": 5443}, {"x": 70, "y": 216, "t_ms": 5467}, {"x": 78, "y": 208.8, "t_ms": 5491}, {"x": 78, "y": 201.6, "t_ms": 5515}, {"x": 70, "y": 198, "t_ms": 5539}, {"x": 62, "y": 201.6, "t_ms": 5563}]}},
|
|
359
|
+
{"t_ms": 5978, "write": {"id": 13, "pointer": "pen", "points": [{"x": 102, "y": 180, "t_ms": 5754}, {"x": 92, "y": 187.2, "t_ms": 5786}, {"x": 86, "y": 201.6, "t_ms": 5826}, {"x": 88, "y": 212.4, "t_ms": 5858}, {"x": 96, "y": 216, "t_ms": 5882}, {"x": 104, "y": 208.8, "t_ms": 5906}, {"x": 104, "y": 201.6, "t_ms": 5930}, {"x": 96, "y": 198, "t_ms": 5954}, {"x": 88, "y": 201.6, "t_ms": 5978}]}},
|
|
360
|
+
{"t_ms": 6343, "write": {"id": 14, "pointer": "pen", "points": [{"x": 148, "y": 190.8, "t_ms": 6313}, {"x": 148, "y": 190.8, "t_ms": 6343}]}},
|
|
361
|
+
{"t_ms": 6546, "write": {"id": 15, "pointer": "pen", "points": [{"x": 148, "y": 205.2, "t_ms": 6516}, {"x": 148, "y": 205.2, "t_ms": 6546}]}},
|
|
362
|
+
{"t_ms": 7129, "write": {"id": 16, "pointer": "pen", "points": [{"x": 206, "y": 180, "t_ms": 6905}, {"x": 196, "y": 187.2, "t_ms": 6937}, {"x": 190, "y": 201.6, "t_ms": 6977}, {"x": 192, "y": 212.4, "t_ms": 7009}, {"x": 200, "y": 216, "t_ms": 7033}, {"x": 208, "y": 208.8, "t_ms": 7057}, {"x": 208, "y": 201.6, "t_ms": 7081}, {"x": 200, "y": 198, "t_ms": 7105}, {"x": 192, "y": 201.6, "t_ms": 7129}]}},
|
|
363
|
+
{"t_ms": 7560, "write": {"id": 17, "pointer": "pen", "points": [{"x": 244, "y": 190.8, "t_ms": 7512}, {"x": 260, "y": 190.8, "t_ms": 7560}]}},
|
|
364
|
+
{"t_ms": 7781, "write": {"id": 18, "pointer": "pen", "points": [{"x": 244, "y": 205.2, "t_ms": 7733}, {"x": 260, "y": 205.2, "t_ms": 7781}]}},
|
|
365
|
+
{"t_ms": 8316, "write": {"id": 19, "pointer": "pen", "points": [{"x": 298, "y": 190.8, "t_ms": 8188}, {"x": 306, "y": 180, "t_ms": 8220}, {"x": 306, "y": 216, "t_ms": 8316}]}},
|
|
366
|
+
{"t_ms": 8624, "write": {"id": 20, "pointer": "pen", "points": [{"x": 324, "y": 190.8, "t_ms": 8496}, {"x": 332, "y": 180, "t_ms": 8528}, {"x": 332, "y": 216, "t_ms": 8624}]}}
|
|
367
|
+
]},
|
|
368
|
+
"visible": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
|
|
369
|
+
"neighbours": [
|
|
370
|
+
[1, 2],
|
|
371
|
+
[1, 3],
|
|
372
|
+
[2, 3],
|
|
373
|
+
[3, 4],
|
|
374
|
+
[3, 5],
|
|
375
|
+
[4, 5],
|
|
376
|
+
[4, 6],
|
|
377
|
+
[5, 6],
|
|
378
|
+
[6, 7],
|
|
379
|
+
[7, 8],
|
|
380
|
+
[7, 9],
|
|
381
|
+
[8, 9],
|
|
382
|
+
[8, 10],
|
|
383
|
+
[9, 10],
|
|
384
|
+
[10, 11],
|
|
385
|
+
[12, 13],
|
|
386
|
+
[13, 14],
|
|
387
|
+
[13, 15],
|
|
388
|
+
[14, 15],
|
|
389
|
+
[14, 16],
|
|
390
|
+
[15, 16],
|
|
391
|
+
[16, 17],
|
|
392
|
+
[16, 18],
|
|
393
|
+
[17, 18],
|
|
394
|
+
[17, 19],
|
|
395
|
+
[18, 19],
|
|
396
|
+
[19, 20]
|
|
397
|
+
],
|
|
398
|
+
"groups": [
|
|
399
|
+
{"label": "A", "stroke_ids": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]},
|
|
400
|
+
{"label": "B", "stroke_ids": [12, 13, 14, 15, 16, 17, 18, 19, 20]}
|
|
401
|
+
],
|
|
402
|
+
"group_boxes": [
|
|
403
|
+
{"ymin": 1000, "xmin": 600, "ymax": 1360, "xmax": 3640},
|
|
404
|
+
{"ymin": 1800, "xmin": 600, "ymax": 2160, "xmax": 3320}
|
|
405
|
+
],
|
|
406
|
+
"erased": []
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"name": "crossed",
|
|
410
|
+
"description": "A line crossed out at once, 0.4 s after it, which is of its group; another crossed out 3 s after it, which is a group of its own.",
|
|
411
|
+
"history": {"events": [
|
|
412
|
+
{"t_ms": 128, "write": {"id": 1, "pointer": "pen", "points": [{"x": 114, "y": 200, "t_ms": 0}, {"x": 100, "y": 225.2, "t_ms": 72}, {"x": 120, "y": 225.2, "t_ms": 128}]}},
|
|
413
|
+
{"t_ms": 350, "write": {"id": 2, "pointer": "pen", "points": [{"x": 114, "y": 210.8, "t_ms": 278}, {"x": 114, "y": 236, "t_ms": 350}]}},
|
|
414
|
+
{"t_ms": 752, "write": {"id": 3, "pointer": "pen", "points": [{"x": 126, "y": 200, "t_ms": 600}, {"x": 146, "y": 200, "t_ms": 656}, {"x": 134, "y": 236, "t_ms": 752}]}},
|
|
415
|
+
{"t_ms": 1316, "write": {"id": 4, "pointer": "pen", "points": [{"x": 188, "y": 207.2, "t_ms": 1252}, {"x": 188, "y": 228.8, "t_ms": 1316}]}},
|
|
416
|
+
{"t_ms": 1498, "write": {"id": 5, "pointer": "pen", "points": [{"x": 182, "y": 218, "t_ms": 1466}, {"x": 194, "y": 218, "t_ms": 1498}]}},
|
|
417
|
+
{"t_ms": 2126, "write": {"id": 6, "pointer": "pen", "points": [{"x": 234, "y": 210.8, "t_ms": 1998}, {"x": 242, "y": 200, "t_ms": 2030}, {"x": 242, "y": 236, "t_ms": 2126}]}},
|
|
418
|
+
{"t_ms": 2600, "write": {"id": 7, "pointer": "pen", "points": [{"x": 274, "y": 214.4, "t_ms": 2376}, {"x": 266, "y": 218, "t_ms": 2400}, {"x": 258, "y": 214.4, "t_ms": 2424}, {"x": 258, "y": 203.6, "t_ms": 2456}, {"x": 266, "y": 200, "t_ms": 2480}, {"x": 274, "y": 203.6, "t_ms": 2504}, {"x": 274, "y": 214.4, "t_ms": 2536}, {"x": 272, "y": 236, "t_ms": 2600}]}},
|
|
419
|
+
{"t_ms": 3148, "write": {"id": 8, "pointer": "pen", "points": [{"x": 310, "y": 210.8, "t_ms": 3100}, {"x": 326, "y": 210.8, "t_ms": 3148}]}},
|
|
420
|
+
{"t_ms": 3346, "write": {"id": 9, "pointer": "pen", "points": [{"x": 310, "y": 225.2, "t_ms": 3298}, {"x": 326, "y": 225.2, "t_ms": 3346}]}},
|
|
421
|
+
{"t_ms": 4022, "write": {"id": 10, "pointer": "pen", "points": [{"x": 362, "y": 200, "t_ms": 3846}, {"x": 362, "y": 214.4, "t_ms": 3886}, {"x": 372, "y": 214.4, "t_ms": 3918}, {"x": 378, "y": 221.6, "t_ms": 3942}, {"x": 378, "y": 228.8, "t_ms": 3966}, {"x": 372, "y": 236, "t_ms": 3990}, {"x": 360, "y": 232.4, "t_ms": 4022}]}},
|
|
422
|
+
{"t_ms": 4220, "write": {"id": 11, "pointer": "pen", "points": [{"x": 362, "y": 200, "t_ms": 4172}, {"x": 378, "y": 200, "t_ms": 4220}]}},
|
|
423
|
+
{"t_ms": 4694, "write": {"id": 12, "pointer": "pen", "points": [{"x": 402, "y": 200, "t_ms": 4470}, {"x": 392, "y": 207.2, "t_ms": 4502}, {"x": 386, "y": 221.6, "t_ms": 4542}, {"x": 388, "y": 232.4, "t_ms": 4574}, {"x": 396, "y": 236, "t_ms": 4598}, {"x": 404, "y": 228.8, "t_ms": 4622}, {"x": 404, "y": 221.6, "t_ms": 4646}, {"x": 396, "y": 218, "t_ms": 4670}, {"x": 388, "y": 221.6, "t_ms": 4694}]}},
|
|
424
|
+
{"t_ms": 5942, "write": {"id": 13, "pointer": "pen", "points": [{"x": 94, "y": 218, "t_ms": 5094}, {"x": 410, "y": 218, "t_ms": 5942}]}},
|
|
425
|
+
{"t_ms": 9070, "write": {"id": 14, "pointer": "pen", "points": [{"x": 114, "y": 300, "t_ms": 8942}, {"x": 100, "y": 325.2, "t_ms": 9014}, {"x": 120, "y": 325.2, "t_ms": 9070}]}},
|
|
426
|
+
{"t_ms": 9292, "write": {"id": 15, "pointer": "pen", "points": [{"x": 114, "y": 310.8, "t_ms": 9220}, {"x": 114, "y": 336, "t_ms": 9292}]}},
|
|
427
|
+
{"t_ms": 9694, "write": {"id": 16, "pointer": "pen", "points": [{"x": 126, "y": 300, "t_ms": 9542}, {"x": 146, "y": 300, "t_ms": 9598}, {"x": 134, "y": 336, "t_ms": 9694}]}},
|
|
428
|
+
{"t_ms": 10258, "write": {"id": 17, "pointer": "pen", "points": [{"x": 188, "y": 307.2, "t_ms": 10194}, {"x": 188, "y": 328.8, "t_ms": 10258}]}},
|
|
429
|
+
{"t_ms": 10440, "write": {"id": 18, "pointer": "pen", "points": [{"x": 182, "y": 318, "t_ms": 10408}, {"x": 194, "y": 318, "t_ms": 10440}]}},
|
|
430
|
+
{"t_ms": 11068, "write": {"id": 19, "pointer": "pen", "points": [{"x": 234, "y": 310.8, "t_ms": 10940}, {"x": 242, "y": 300, "t_ms": 10972}, {"x": 242, "y": 336, "t_ms": 11068}]}},
|
|
431
|
+
{"t_ms": 11542, "write": {"id": 20, "pointer": "pen", "points": [{"x": 274, "y": 314.4, "t_ms": 11318}, {"x": 266, "y": 318, "t_ms": 11342}, {"x": 258, "y": 314.4, "t_ms": 11366}, {"x": 258, "y": 303.6, "t_ms": 11398}, {"x": 266, "y": 300, "t_ms": 11422}, {"x": 274, "y": 303.6, "t_ms": 11446}, {"x": 274, "y": 314.4, "t_ms": 11478}, {"x": 272, "y": 336, "t_ms": 11542}]}},
|
|
432
|
+
{"t_ms": 12090, "write": {"id": 21, "pointer": "pen", "points": [{"x": 310, "y": 310.8, "t_ms": 12042}, {"x": 326, "y": 310.8, "t_ms": 12090}]}},
|
|
433
|
+
{"t_ms": 12288, "write": {"id": 22, "pointer": "pen", "points": [{"x": 310, "y": 325.2, "t_ms": 12240}, {"x": 326, "y": 325.2, "t_ms": 12288}]}},
|
|
434
|
+
{"t_ms": 13012, "write": {"id": 23, "pointer": "pen", "points": [{"x": 376, "y": 300, "t_ms": 12788}, {"x": 366, "y": 307.2, "t_ms": 12820}, {"x": 360, "y": 321.6, "t_ms": 12860}, {"x": 362, "y": 332.4, "t_ms": 12892}, {"x": 370, "y": 336, "t_ms": 12916}, {"x": 378, "y": 328.8, "t_ms": 12940}, {"x": 378, "y": 321.6, "t_ms": 12964}, {"x": 370, "y": 318, "t_ms": 12988}, {"x": 362, "y": 321.6, "t_ms": 13012}]}},
|
|
435
|
+
{"t_ms": 13486, "write": {"id": 24, "pointer": "pen", "points": [{"x": 402, "y": 300, "t_ms": 13262}, {"x": 392, "y": 307.2, "t_ms": 13294}, {"x": 386, "y": 321.6, "t_ms": 13334}, {"x": 388, "y": 332.4, "t_ms": 13366}, {"x": 396, "y": 336, "t_ms": 13390}, {"x": 404, "y": 328.8, "t_ms": 13414}, {"x": 404, "y": 321.6, "t_ms": 13438}, {"x": 396, "y": 318, "t_ms": 13462}, {"x": 388, "y": 321.6, "t_ms": 13486}]}},
|
|
436
|
+
{"t_ms": 17334, "write": {"id": 25, "pointer": "pen", "points": [{"x": 94, "y": 318, "t_ms": 16486}, {"x": 410, "y": 318, "t_ms": 17334}]}}
|
|
437
|
+
]},
|
|
438
|
+
"visible": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25],
|
|
439
|
+
"neighbours": [
|
|
440
|
+
[1, 2],
|
|
441
|
+
[1, 3],
|
|
442
|
+
[2, 3],
|
|
443
|
+
[3, 4],
|
|
444
|
+
[3, 5],
|
|
445
|
+
[4, 5],
|
|
446
|
+
[4, 6],
|
|
447
|
+
[5, 6],
|
|
448
|
+
[6, 7],
|
|
449
|
+
[7, 8],
|
|
450
|
+
[7, 9],
|
|
451
|
+
[8, 9],
|
|
452
|
+
[8, 10],
|
|
453
|
+
[8, 11],
|
|
454
|
+
[8, 13],
|
|
455
|
+
[9, 10],
|
|
456
|
+
[9, 11],
|
|
457
|
+
[9, 13],
|
|
458
|
+
[10, 11],
|
|
459
|
+
[10, 12],
|
|
460
|
+
[10, 13],
|
|
461
|
+
[11, 12],
|
|
462
|
+
[11, 13],
|
|
463
|
+
[12, 13],
|
|
464
|
+
[14, 15],
|
|
465
|
+
[14, 16],
|
|
466
|
+
[15, 16],
|
|
467
|
+
[16, 17],
|
|
468
|
+
[16, 18],
|
|
469
|
+
[17, 18],
|
|
470
|
+
[17, 19],
|
|
471
|
+
[18, 19],
|
|
472
|
+
[19, 20],
|
|
473
|
+
[20, 21],
|
|
474
|
+
[20, 22],
|
|
475
|
+
[21, 22],
|
|
476
|
+
[21, 23],
|
|
477
|
+
[22, 23],
|
|
478
|
+
[23, 24]
|
|
479
|
+
],
|
|
480
|
+
"groups": [
|
|
481
|
+
{"label": "A", "stroke_ids": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]},
|
|
482
|
+
{"label": "B", "stroke_ids": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]},
|
|
483
|
+
{"label": "C", "stroke_ids": [25]}
|
|
484
|
+
],
|
|
485
|
+
"group_boxes": [
|
|
486
|
+
{"ymin": 2000, "xmin": 940, "ymax": 2360, "xmax": 4100},
|
|
487
|
+
{"ymin": 3000, "xmin": 1000, "ymax": 3360, "xmax": 4040},
|
|
488
|
+
{"ymin": 3180, "xmin": 940, "ymax": 3180, "xmax": 4100}
|
|
489
|
+
],
|
|
490
|
+
"erased": []
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"name": "bridge",
|
|
494
|
+
"description": "«12» and «34» far apart, a line under both 0.3 s on, which joins them; «56» and «78» the same, the line 4 s on, which joins neither.",
|
|
495
|
+
"history": {"events": [
|
|
496
|
+
{"t_ms": 128, "write": {"id": 1, "pointer": "pen", "points": [{"x": 104, "y": 210.8, "t_ms": 0}, {"x": 112, "y": 200, "t_ms": 32}, {"x": 112, "y": 236, "t_ms": 128}]}},
|
|
497
|
+
{"t_ms": 586, "write": {"id": 2, "pointer": "pen", "points": [{"x": 126, "y": 207.2, "t_ms": 378}, {"x": 132, "y": 200, "t_ms": 402}, {"x": 140, "y": 200, "t_ms": 426}, {"x": 146, "y": 210.8, "t_ms": 458}, {"x": 144, "y": 218, "t_ms": 482}, {"x": 126, "y": 236, "t_ms": 530}, {"x": 146, "y": 236, "t_ms": 586}]}},
|
|
498
|
+
{"t_ms": 1286, "write": {"id": 3, "pointer": "pen", "points": [{"x": 220, "y": 203.6, "t_ms": 1086}, {"x": 228, "y": 200, "t_ms": 1110}, {"x": 236, "y": 203.6, "t_ms": 1134}, {"x": 238, "y": 210.8, "t_ms": 1158}, {"x": 230, "y": 218, "t_ms": 1182}, {"x": 238, "y": 225.2, "t_ms": 1206}, {"x": 238, "y": 232.4, "t_ms": 1230}, {"x": 230, "y": 236, "t_ms": 1254}, {"x": 220, "y": 232.4, "t_ms": 1286}]}},
|
|
499
|
+
{"t_ms": 1664, "write": {"id": 4, "pointer": "pen", "points": [{"x": 260, "y": 200, "t_ms": 1536}, {"x": 246, "y": 225.2, "t_ms": 1608}, {"x": 266, "y": 225.2, "t_ms": 1664}]}},
|
|
500
|
+
{"t_ms": 1886, "write": {"id": 5, "pointer": "pen", "points": [{"x": 260, "y": 210.8, "t_ms": 1814}, {"x": 260, "y": 236, "t_ms": 1886}]}},
|
|
501
|
+
{"t_ms": 2642, "write": {"id": 6, "pointer": "pen", "points": [{"x": 98, "y": 245, "t_ms": 2186}, {"x": 268, "y": 245, "t_ms": 2642}]}},
|
|
502
|
+
{"t_ms": 5818, "write": {"id": 7, "pointer": "pen", "points": [{"x": 102, "y": 400, "t_ms": 5642}, {"x": 102, "y": 414.4, "t_ms": 5682}, {"x": 112, "y": 414.4, "t_ms": 5714}, {"x": 118, "y": 421.6, "t_ms": 5738}, {"x": 118, "y": 428.8, "t_ms": 5762}, {"x": 112, "y": 436, "t_ms": 5786}, {"x": 100, "y": 432.4, "t_ms": 5818}]}},
|
|
503
|
+
{"t_ms": 6016, "write": {"id": 8, "pointer": "pen", "points": [{"x": 102, "y": 400, "t_ms": 5968}, {"x": 118, "y": 400, "t_ms": 6016}]}},
|
|
504
|
+
{"t_ms": 6490, "write": {"id": 9, "pointer": "pen", "points": [{"x": 142, "y": 400, "t_ms": 6266}, {"x": 132, "y": 407.2, "t_ms": 6298}, {"x": 126, "y": 421.6, "t_ms": 6338}, {"x": 128, "y": 432.4, "t_ms": 6370}, {"x": 136, "y": 436, "t_ms": 6394}, {"x": 144, "y": 428.8, "t_ms": 6418}, {"x": 144, "y": 421.6, "t_ms": 6442}, {"x": 136, "y": 418, "t_ms": 6466}, {"x": 128, "y": 421.6, "t_ms": 6490}]}},
|
|
505
|
+
{"t_ms": 7142, "write": {"id": 10, "pointer": "pen", "points": [{"x": 220, "y": 400, "t_ms": 6990}, {"x": 240, "y": 400, "t_ms": 7046}, {"x": 228, "y": 436, "t_ms": 7142}]}},
|
|
506
|
+
{"t_ms": 7712, "write": {"id": 11, "pointer": "pen", "points": [{"x": 256, "y": 418, "t_ms": 7392}, {"x": 248, "y": 410.8, "t_ms": 7416}, {"x": 250, "y": 400, "t_ms": 7448}, {"x": 262, "y": 400, "t_ms": 7480}, {"x": 264, "y": 410.8, "t_ms": 7512}, {"x": 256, "y": 418, "t_ms": 7536}, {"x": 246, "y": 425.2, "t_ms": 7568}, {"x": 248, "y": 436, "t_ms": 7600}, {"x": 264, "y": 436, "t_ms": 7648}, {"x": 266, "y": 425.2, "t_ms": 7680}, {"x": 256, "y": 418, "t_ms": 7712}]}},
|
|
507
|
+
{"t_ms": 12168, "write": {"id": 12, "pointer": "pen", "points": [{"x": 98, "y": 445, "t_ms": 11712}, {"x": 268, "y": 445, "t_ms": 12168}]}}
|
|
508
|
+
]},
|
|
509
|
+
"visible": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
|
|
510
|
+
"neighbours": [
|
|
511
|
+
[1, 2],
|
|
512
|
+
[2, 6],
|
|
513
|
+
[3, 4],
|
|
514
|
+
[3, 5],
|
|
515
|
+
[3, 6],
|
|
516
|
+
[4, 5],
|
|
517
|
+
[4, 6],
|
|
518
|
+
[5, 6],
|
|
519
|
+
[7, 8],
|
|
520
|
+
[7, 9],
|
|
521
|
+
[8, 9],
|
|
522
|
+
[10, 11]
|
|
523
|
+
],
|
|
524
|
+
"groups": [
|
|
525
|
+
{"label": "A", "stroke_ids": [1, 2, 3, 4, 5, 6]},
|
|
526
|
+
{"label": "B", "stroke_ids": [7, 8, 9]},
|
|
527
|
+
{"label": "C", "stroke_ids": [10, 11]},
|
|
528
|
+
{"label": "D", "stroke_ids": [12]}
|
|
529
|
+
],
|
|
530
|
+
"group_boxes": [
|
|
531
|
+
{"ymin": 2000, "xmin": 980, "ymax": 2450, "xmax": 2680},
|
|
532
|
+
{"ymin": 4000, "xmin": 1000, "ymax": 4360, "xmax": 1440},
|
|
533
|
+
{"ymin": 4000, "xmin": 2200, "ymax": 4360, "xmax": 2660},
|
|
534
|
+
{"ymin": 4450, "xmin": 980, "ymax": 4450, "xmax": 2680}
|
|
535
|
+
],
|
|
536
|
+
"erased": []
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
"name": "undone",
|
|
540
|
+
"description": "«12» erased and brought back by undo 3 s on, «3» written next to it 0.5 s after that, the sheet cleared and that undone: «12» keeps the time it was written, a group apart from «3».",
|
|
541
|
+
"history": {"events": [
|
|
542
|
+
{"t_ms": 128, "write": {"id": 1, "pointer": "pen", "points": [{"x": 104, "y": 210.8, "t_ms": 0}, {"x": 112, "y": 200, "t_ms": 32}, {"x": 112, "y": 236, "t_ms": 128}]}},
|
|
543
|
+
{"t_ms": 586, "write": {"id": 2, "pointer": "pen", "points": [{"x": 126, "y": 207.2, "t_ms": 378}, {"x": 132, "y": 200, "t_ms": 402}, {"x": 140, "y": 200, "t_ms": 426}, {"x": 146, "y": 210.8, "t_ms": 458}, {"x": 144, "y": 218, "t_ms": 482}, {"x": 126, "y": 236, "t_ms": 530}, {"x": 146, "y": 236, "t_ms": 586}]}},
|
|
544
|
+
{"t_ms": 1286, "erase": {"ids": [1, 2]}},
|
|
545
|
+
{"t_ms": 4286, "undo": {"removed": [], "restored": [1, 2]}},
|
|
546
|
+
{"t_ms": 4986, "write": {"id": 3, "pointer": "pen", "points": [{"x": 160, "y": 203.6, "t_ms": 4786}, {"x": 168, "y": 200, "t_ms": 4810}, {"x": 176, "y": 203.6, "t_ms": 4834}, {"x": 178, "y": 210.8, "t_ms": 4858}, {"x": 170, "y": 218, "t_ms": 4882}, {"x": 178, "y": 225.2, "t_ms": 4906}, {"x": 178, "y": 232.4, "t_ms": 4930}, {"x": 170, "y": 236, "t_ms": 4954}, {"x": 160, "y": 232.4, "t_ms": 4986}]}},
|
|
547
|
+
{"t_ms": 5986, "clear": {"ids": [1, 2, 3]}},
|
|
548
|
+
{"t_ms": 6486, "undo": {"removed": [], "restored": [1, 2, 3]}}
|
|
549
|
+
]},
|
|
550
|
+
"visible": [1, 2, 3],
|
|
551
|
+
"neighbours": [[1, 2]],
|
|
552
|
+
"groups": [
|
|
553
|
+
{"label": "A", "stroke_ids": [1, 2]},
|
|
554
|
+
{"label": "B", "stroke_ids": [3]}
|
|
555
|
+
],
|
|
556
|
+
"group_boxes": [
|
|
557
|
+
{"ymin": 2000, "xmin": 1040, "ymax": 2360, "xmax": 1460},
|
|
558
|
+
{"ymin": 2000, "xmin": 1600, "ymax": 2360, "xmax": 1780}
|
|
559
|
+
],
|
|
560
|
+
"erased": []
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"name": "bounds",
|
|
564
|
+
"description": "Pairs at the rule's bounds and just past them: 2000 and 2001 ms, 50 and 50.1 units across, 50 and 50.1 down.",
|
|
565
|
+
"history": {"events": [
|
|
566
|
+
{"t_ms": 30, "write": {"id": 1, "pointer": "pen", "points": [{"x": 100, "y": 100, "t_ms": 0}, {"x": 100, "y": 100, "t_ms": 30}]}},
|
|
567
|
+
{"t_ms": 2060, "write": {"id": 2, "pointer": "pen", "points": [{"x": 110, "y": 100, "t_ms": 2030}, {"x": 110, "y": 100, "t_ms": 2060}]}},
|
|
568
|
+
{"t_ms": 2190, "write": {"id": 3, "pointer": "pen", "points": [{"x": 300, "y": 100, "t_ms": 2160}, {"x": 300, "y": 100, "t_ms": 2190}]}},
|
|
569
|
+
{"t_ms": 4221, "write": {"id": 4, "pointer": "pen", "points": [{"x": 310, "y": 100, "t_ms": 4191}, {"x": 310, "y": 100, "t_ms": 4221}]}},
|
|
570
|
+
{"t_ms": 4433, "write": {"id": 5, "pointer": "pen", "points": [{"x": 100, "y": 300, "t_ms": 4321}, {"x": 100, "y": 340, "t_ms": 4433}]}},
|
|
571
|
+
{"t_ms": 4645, "write": {"id": 6, "pointer": "pen", "points": [{"x": 150, "y": 300, "t_ms": 4533}, {"x": 150, "y": 340, "t_ms": 4645}]}},
|
|
572
|
+
{"t_ms": 4857, "write": {"id": 7, "pointer": "pen", "points": [{"x": 300, "y": 300, "t_ms": 4745}, {"x": 300, "y": 340, "t_ms": 4857}]}},
|
|
573
|
+
{"t_ms": 5069, "write": {"id": 8, "pointer": "pen", "points": [{"x": 350.1, "y": 300, "t_ms": 4957}, {"x": 350.1, "y": 340, "t_ms": 5069}]}},
|
|
574
|
+
{"t_ms": 5281, "write": {"id": 9, "pointer": "pen", "points": [{"x": 100, "y": 500, "t_ms": 5169}, {"x": 140, "y": 500, "t_ms": 5281}]}},
|
|
575
|
+
{"t_ms": 5493, "write": {"id": 10, "pointer": "pen", "points": [{"x": 100, "y": 550, "t_ms": 5381}, {"x": 140, "y": 550, "t_ms": 5493}]}},
|
|
576
|
+
{"t_ms": 5705, "write": {"id": 11, "pointer": "pen", "points": [{"x": 300, "y": 700, "t_ms": 5593}, {"x": 340, "y": 700, "t_ms": 5705}]}},
|
|
577
|
+
{"t_ms": 5917, "write": {"id": 12, "pointer": "pen", "points": [{"x": 300, "y": 750.1, "t_ms": 5805}, {"x": 340, "y": 750.1, "t_ms": 5917}]}}
|
|
578
|
+
]},
|
|
579
|
+
"visible": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
|
|
580
|
+
"neighbours": [
|
|
581
|
+
[1, 2],
|
|
582
|
+
[5, 6],
|
|
583
|
+
[9, 10]
|
|
584
|
+
],
|
|
585
|
+
"groups": [
|
|
586
|
+
{"label": "A", "stroke_ids": [1, 2]},
|
|
587
|
+
{"label": "B", "stroke_ids": [3]},
|
|
588
|
+
{"label": "C", "stroke_ids": [4]},
|
|
589
|
+
{"label": "D", "stroke_ids": [5, 6]},
|
|
590
|
+
{"label": "E", "stroke_ids": [7]},
|
|
591
|
+
{"label": "F", "stroke_ids": [8]},
|
|
592
|
+
{"label": "G", "stroke_ids": [9, 10]},
|
|
593
|
+
{"label": "H", "stroke_ids": [11]},
|
|
594
|
+
{"label": "I", "stroke_ids": [12]}
|
|
595
|
+
],
|
|
596
|
+
"group_boxes": [
|
|
597
|
+
{"ymin": 1000, "xmin": 1000, "ymax": 1000, "xmax": 1100},
|
|
598
|
+
{"ymin": 1000, "xmin": 3000, "ymax": 1000, "xmax": 3000},
|
|
599
|
+
{"ymin": 1000, "xmin": 3100, "ymax": 1000, "xmax": 3100},
|
|
600
|
+
{"ymin": 3000, "xmin": 1000, "ymax": 3400, "xmax": 1500},
|
|
601
|
+
{"ymin": 3000, "xmin": 3000, "ymax": 3400, "xmax": 3000},
|
|
602
|
+
{"ymin": 3000, "xmin": 3501, "ymax": 3400, "xmax": 3501},
|
|
603
|
+
{"ymin": 5000, "xmin": 1000, "ymax": 5500, "xmax": 1400},
|
|
604
|
+
{"ymin": 7000, "xmin": 3000, "ymax": 7000, "xmax": 3400},
|
|
605
|
+
{"ymin": 7501, "xmin": 3000, "ymax": 7501, "xmax": 3400}
|
|
606
|
+
],
|
|
607
|
+
"erased": []
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"name": "rounding",
|
|
611
|
+
"description": "Dots in hundredths of a unit, in pairs. The rule takes a place in tenths, rounding half up: 100.05 units are 1001 tenths, so the first pair is 500 tenths apart across and the sixth 500 tenths apart down — neighbours both, which rounding half to even or cutting the fraction off would part. The second pair, 50.02 units apart, is 501 tenths, and the third comes out at the bound from just above. The fourth and the fifth are 2000 ms apart, at the bound of the pause.",
|
|
612
|
+
"history": {"events": [
|
|
613
|
+
{"t_ms": 10, "write": {"id": 1, "pointer": "pen", "points": [{"x": 100.05, "y": 100, "t_ms": 10}]}},
|
|
614
|
+
{"t_ms": 20, "write": {"id": 2, "pointer": "pen", "points": [{"x": 150.1, "y": 100, "t_ms": 20}]}},
|
|
615
|
+
{"t_ms": 30, "write": {"id": 3, "pointer": "pen", "points": [{"x": 300.04, "y": 100, "t_ms": 30}]}},
|
|
616
|
+
{"t_ms": 40, "write": {"id": 4, "pointer": "pen", "points": [{"x": 350.06, "y": 100, "t_ms": 40}]}},
|
|
617
|
+
{"t_ms": 50, "write": {"id": 5, "pointer": "pen", "points": [{"x": 500.06, "y": 100, "t_ms": 50}]}},
|
|
618
|
+
{"t_ms": 60, "write": {"id": 6, "pointer": "pen", "points": [{"x": 550.14, "y": 100, "t_ms": 60}]}},
|
|
619
|
+
{"t_ms": 101, "write": {"id": 7, "pointer": "pen", "points": [{"x": 100, "y": 300, "t_ms": 101}]}},
|
|
620
|
+
{"t_ms": 2101, "write": {"id": 8, "pointer": "pen", "points": [{"x": 110, "y": 300, "t_ms": 2101}]}},
|
|
621
|
+
{"t_ms": 3001, "write": {"id": 9, "pointer": "pen", "points": [{"x": 300, "y": 300, "t_ms": 3001}]}},
|
|
622
|
+
{"t_ms": 5001, "write": {"id": 10, "pointer": "pen", "points": [{"x": 310, "y": 300, "t_ms": 5001}]}},
|
|
623
|
+
{"t_ms": 6000, "write": {"id": 11, "pointer": "pen", "points": [{"x": 500, "y": 300.05, "t_ms": 6000}]}},
|
|
624
|
+
{"t_ms": 6010, "write": {"id": 12, "pointer": "pen", "points": [{"x": 500, "y": 350.1, "t_ms": 6010}]}}
|
|
625
|
+
]},
|
|
626
|
+
"visible": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
|
|
627
|
+
"neighbours": [
|
|
628
|
+
[1, 2],
|
|
629
|
+
[5, 6],
|
|
630
|
+
[7, 8],
|
|
631
|
+
[9, 10],
|
|
632
|
+
[11, 12]
|
|
633
|
+
],
|
|
634
|
+
"groups": [
|
|
635
|
+
{"label": "A", "stroke_ids": [1, 2]},
|
|
636
|
+
{"label": "B", "stroke_ids": [3]},
|
|
637
|
+
{"label": "C", "stroke_ids": [4]},
|
|
638
|
+
{"label": "D", "stroke_ids": [5, 6]},
|
|
639
|
+
{"label": "E", "stroke_ids": [7, 8]},
|
|
640
|
+
{"label": "F", "stroke_ids": [9, 10]},
|
|
641
|
+
{"label": "G", "stroke_ids": [11, 12]}
|
|
642
|
+
],
|
|
643
|
+
"group_boxes": [
|
|
644
|
+
{"ymin": 1000, "xmin": 1001, "ymax": 1000, "xmax": 1501},
|
|
645
|
+
{"ymin": 1000, "xmin": 3000, "ymax": 1000, "xmax": 3000},
|
|
646
|
+
{"ymin": 1000, "xmin": 3501, "ymax": 1000, "xmax": 3501},
|
|
647
|
+
{"ymin": 1000, "xmin": 5001, "ymax": 1000, "xmax": 5501},
|
|
648
|
+
{"ymin": 3000, "xmin": 1000, "ymax": 3000, "xmax": 1100},
|
|
649
|
+
{"ymin": 3000, "xmin": 3000, "ymax": 3000, "xmax": 3100},
|
|
650
|
+
{"ymin": 3001, "xmin": 5000, "ymax": 3501, "xmax": 5000}
|
|
651
|
+
],
|
|
652
|
+
"erased": []
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"name": "erased-alone",
|
|
656
|
+
"description": "A «1» and, far to its right, a «7» erased: the «7» would neighbour no stroke the sheet shows, so it is in no group.",
|
|
657
|
+
"history": {"events": [
|
|
658
|
+
{"t_ms": 300, "write": {"id": 1, "pointer": "pen", "points": [{"x": 120, "y": 200, "t_ms": 0}, {"x": 120, "y": 213.3, "t_ms": 100}, {"x": 120, "y": 226.7, "t_ms": 200}, {"x": 120, "y": 240, "t_ms": 300}]}},
|
|
659
|
+
{"t_ms": 900, "write": {"id": 2, "pointer": "pen", "points": [{"x": 600, "y": 200, "t_ms": 600}, {"x": 610, "y": 213.3, "t_ms": 700}, {"x": 620, "y": 226.7, "t_ms": 800}, {"x": 630, "y": 240, "t_ms": 900}]}},
|
|
660
|
+
{"t_ms": 1500, "erase": {"ids": [2]}}
|
|
661
|
+
]},
|
|
662
|
+
"visible": [1],
|
|
663
|
+
"neighbours": [],
|
|
664
|
+
"groups": [{"label": "A", "stroke_ids": [1]}],
|
|
665
|
+
"group_boxes": [{"ymin": 2000, "xmin": 1200, "ymax": 2400, "xmax": 1200}],
|
|
666
|
+
"erased": [{"stroke_id": 2, "labels": []}]
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"name": "erased-between",
|
|
670
|
+
"description": "«1», a dash and «7», the dash erased: «1» and «7», 160 units apart, are two groups, and the dash, 30 units from each and written between them, would neighbour both, so it is in both.",
|
|
671
|
+
"history": {"events": [
|
|
672
|
+
{"t_ms": 300, "write": {"id": 1, "pointer": "pen", "points": [{"x": 120, "y": 200, "t_ms": 0}, {"x": 126.7, "y": 213.3, "t_ms": 100}, {"x": 133.3, "y": 226.7, "t_ms": 200}, {"x": 140, "y": 240, "t_ms": 300}]}},
|
|
673
|
+
{"t_ms": 500, "write": {"id": 2, "pointer": "pen", "points": [{"x": 170, "y": 220, "t_ms": 400}, {"x": 203.3, "y": 220, "t_ms": 433}, {"x": 236.7, "y": 220, "t_ms": 467}, {"x": 270, "y": 220, "t_ms": 500}]}},
|
|
674
|
+
{"t_ms": 900, "write": {"id": 3, "pointer": "pen", "points": [{"x": 300, "y": 200, "t_ms": 600}, {"x": 313.3, "y": 213.3, "t_ms": 700}, {"x": 326.7, "y": 226.7, "t_ms": 800}, {"x": 340, "y": 240, "t_ms": 900}]}},
|
|
675
|
+
{"t_ms": 1500, "erase": {"ids": [2]}}
|
|
676
|
+
]},
|
|
677
|
+
"visible": [1, 3],
|
|
678
|
+
"neighbours": [],
|
|
679
|
+
"groups": [
|
|
680
|
+
{"label": "A", "stroke_ids": [1]},
|
|
681
|
+
{"label": "B", "stroke_ids": [3]}
|
|
682
|
+
],
|
|
683
|
+
"group_boxes": [
|
|
684
|
+
{"ymin": 2000, "xmin": 1200, "ymax": 2400, "xmax": 1400},
|
|
685
|
+
{"ymin": 2000, "xmin": 3000, "ymax": 2400, "xmax": 3400}
|
|
686
|
+
],
|
|
687
|
+
"erased": [{"stroke_id": 2, "labels": ["A", "B"]}]
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"name": "erased-within",
|
|
691
|
+
"description": "«1», «2» and «3» in a row, «2» erased: «1» and «3», 20 units apart, are one group still, and «2» neighbours both, so it is in that group, once.",
|
|
692
|
+
"history": {"events": [
|
|
693
|
+
{"t_ms": 300, "write": {"id": 1, "pointer": "pen", "points": [{"x": 120, "y": 200, "t_ms": 0}, {"x": 120, "y": 213.3, "t_ms": 100}, {"x": 120, "y": 226.7, "t_ms": 200}, {"x": 120, "y": 240, "t_ms": 300}]}},
|
|
694
|
+
{"t_ms": 700, "write": {"id": 2, "pointer": "pen", "points": [{"x": 130, "y": 200, "t_ms": 400}, {"x": 136.7, "y": 213.3, "t_ms": 500}, {"x": 143.3, "y": 226.7, "t_ms": 600}, {"x": 150, "y": 240, "t_ms": 700}]}},
|
|
695
|
+
{"t_ms": 1100, "write": {"id": 3, "pointer": "pen", "points": [{"x": 140, "y": 200, "t_ms": 800}, {"x": 150, "y": 213.3, "t_ms": 900}, {"x": 160, "y": 226.7, "t_ms": 1000}, {"x": 170, "y": 240, "t_ms": 1100}]}},
|
|
696
|
+
{"t_ms": 1500, "erase": {"ids": [2]}}
|
|
697
|
+
]},
|
|
698
|
+
"visible": [1, 3],
|
|
699
|
+
"neighbours": [[1, 3]],
|
|
700
|
+
"groups": [{"label": "A", "stroke_ids": [1, 3]}],
|
|
701
|
+
"group_boxes": [{"ymin": 2000, "xmin": 1200, "ymax": 2400, "xmax": 1700}],
|
|
702
|
+
"erased": [{"stroke_id": 2, "labels": ["A"]}]
|
|
703
|
+
},
|
|
704
|
+
{
|
|
705
|
+
"name": "undone-write",
|
|
706
|
+
"description": "A «4» written in two strokes, the second taken off by an undo: a stroke an undo took off is taken off as an erased one, and it would neighbour the first, so it is in its group.",
|
|
707
|
+
"history": {"events": [
|
|
708
|
+
{"t_ms": 300, "write": {"id": 1, "pointer": "pen", "points": [{"x": 400, "y": 500, "t_ms": 0}, {"x": 393.3, "y": 513.3, "t_ms": 100}, {"x": 386.7, "y": 526.7, "t_ms": 200}, {"x": 380, "y": 540, "t_ms": 300}]}},
|
|
709
|
+
{"t_ms": 800, "write": {"id": 2, "pointer": "pen", "points": [{"x": 400, "y": 500, "t_ms": 500}, {"x": 400, "y": 520, "t_ms": 600}, {"x": 400, "y": 540, "t_ms": 700}, {"x": 400, "y": 560, "t_ms": 800}]}},
|
|
710
|
+
{"t_ms": 1200, "undo": {"removed": [2], "restored": []}}
|
|
711
|
+
]},
|
|
712
|
+
"visible": [1],
|
|
713
|
+
"neighbours": [],
|
|
714
|
+
"groups": [{"label": "A", "stroke_ids": [1]}],
|
|
715
|
+
"group_boxes": [{"ymin": 5000, "xmin": 3800, "ymax": 5400, "xmax": 4000}],
|
|
716
|
+
"erased": [{"stroke_id": 2, "labels": ["A"]}]
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
"name": "cleared",
|
|
720
|
+
"description": "«5» and «8» far apart, the sheet cleared, and 10 s on «3» written where «5» was: the strokes cleared are too long before «3» to be its neighbours, so neither is in a group, though «5» lies where «3» does.",
|
|
721
|
+
"history": {"events": [
|
|
722
|
+
{"t_ms": 300, "write": {"id": 1, "pointer": "pen", "points": [{"x": 120, "y": 200, "t_ms": 0}, {"x": 130, "y": 213.3, "t_ms": 100}, {"x": 140, "y": 226.7, "t_ms": 200}, {"x": 150, "y": 240, "t_ms": 300}]}},
|
|
723
|
+
{"t_ms": 800, "write": {"id": 2, "pointer": "pen", "points": [{"x": 700, "y": 900, "t_ms": 500}, {"x": 710, "y": 913.3, "t_ms": 600}, {"x": 720, "y": 926.7, "t_ms": 700}, {"x": 730, "y": 940, "t_ms": 800}]}},
|
|
724
|
+
{"t_ms": 1200, "clear": {"ids": [1, 2]}},
|
|
725
|
+
{"t_ms": 11500, "write": {"id": 3, "pointer": "pen", "points": [{"x": 120, "y": 200, "t_ms": 11200}, {"x": 130, "y": 213.3, "t_ms": 11300}, {"x": 140, "y": 226.7, "t_ms": 11400}, {"x": 150, "y": 240, "t_ms": 11500}]}}
|
|
726
|
+
]},
|
|
727
|
+
"visible": [3],
|
|
728
|
+
"neighbours": [],
|
|
729
|
+
"groups": [{"label": "A", "stroke_ids": [3]}],
|
|
730
|
+
"group_boxes": [{"ymin": 2000, "xmin": 1200, "ymax": 2400, "xmax": 1500}],
|
|
731
|
+
"erased": [
|
|
732
|
+
{"stroke_id": 1, "labels": []},
|
|
733
|
+
{"stroke_id": 2, "labels": []}
|
|
734
|
+
]
|
|
735
|
+
}
|
|
736
|
+
]
|
|
737
|
+
}
|