Add alignment state indicator and pluggable data sources

- AlignmentThresholds dataclass + VisionEngine.__init__ for injection
- alignment_state computed per snapshot (ready/aligning/fault)
- MonitorPlot circle/vector/legend driven by state color
- Status dot + label moved into POSITION VISUALIZATION panel header
- CsvSessionSource + DemoSource pluggable DataSource layer
- Synthetic DATA/ready/ and DATA/aligning/ sessions for visual testing
- Fix CAM 3 label placement (below circle, not above)
This commit is contained in:
Your Name
2026-05-26 14:01:47 -07:00
parent b9adc7c0b8
commit 02327a7a21
60 changed files with 29018 additions and 71 deletions
+888
View File
@@ -0,0 +1,888 @@
# saved_on,DATA
# master_file,R20707P0.CSV
# remote_begin,BEGIN_REMOTE_CSV SOURCE=BOARD_REMOTE SPI=2 BIT=6 POINTS=878 MODE=ORDINARY STATUS=OK
# source,BOARD_REMOTE
# spi,SPI2
# tick_ms,234271
# bit,6
# edge_mode,ORDINARY
# points,878
x,y
84,78
89,80
87,81
86,82
87,82
88,82
90,82
93,82
95,82
86,83
89,83
90,83
92,83
85,84
86,84
88,84
89,84
90,84
92,84
85,85
86,85
88,85
89,85
90,85
93,85
94,85
83,86
87,86
88,86
89,86
91,86
93,86
86,87
87,87
93,87
82,88
83,88
84,88
86,88
87,88
78,89
79,89
82,89
83,89
85,89
86,89
87,89
80,90
81,90
82,90
83,90
84,90
80,91
81,91
82,91
83,91
84,91
85,91
86,91
87,91
81,92
85,92
87,92
88,92
90,92
77,93
78,93
79,93
82,93
83,93
84,93
85,93
76,94
78,94
79,94
81,94
83,94
84,94
85,94
86,94
79,95
81,95
82,95
75,96
78,96
79,96
81,96
84,96
76,97
77,97
79,97
81,97
82,97
73,98
77,98
80,98
81,98
82,98
72,99
74,99
75,99
76,99
77,99
78,99
80,99
70,100
71,100
73,100
74,100
76,100
77,100
78,100
80,100
74,101
76,101
77,101
78,101
79,101
82,101
69,102
70,102
76,102
77,102
80,102
71,103
73,103
74,103
75,103
76,103
69,104
71,104
72,104
74,104
75,104
76,104
77,104
79,104
80,104
70,105
71,105
72,105
73,105
74,105
77,105
80,105
68,106
73,106
75,106
80,106
70,107
72,107
73,107
78,107
68,108
70,108
73,108
75,108
76,108
64,109
68,109
70,109
74,109
75,109
68,110
69,110
70,110
71,110
72,110
73,110
76,110
65,111
68,111
69,111
70,111
71,111
73,111
66,112
67,112
68,112
69,112
70,112
74,112
64,113
66,113
69,113
70,113
73,113
74,113
63,114
66,114
68,114
69,114
70,114
62,115
63,115
65,115
67,115
69,115
71,115
72,115
66,116
67,116
68,116
69,116
68,117
69,117
61,118
65,118
66,118
67,118
68,118
69,118
59,119
64,119
66,119
67,119
69,119
62,120
65,120
66,120
67,120
69,120
71,120
63,121
65,121
68,121
59,122
63,122
64,122
65,122
66,122
69,122
64,123
65,123
66,123
67,123
68,123
69,123
62,124
64,124
65,124
66,124
63,125
65,125
66,125
67,125
59,126
62,126
64,126
58,127
61,127
65,127
66,127
63,128
62,129
66,129
67,129
59,130
61,130
64,130
66,130
58,131
59,131
62,131
63,131
65,131
66,131
58,132
59,132
60,132
61,132
65,132
54,133
55,133
58,133
60,133
61,133
63,133
56,134
59,134
61,134
63,134
64,134
58,135
59,135
60,135
61,135
64,135
58,136
60,136
61,136
62,136
63,136
56,137
59,137
60,137
61,137
64,137
55,138
56,138
57,138
58,138
60,138
61,138
64,138
56,139
58,139
59,139
60,139
61,139
62,139
63,139
55,140
62,140
56,141
57,141
59,141
60,141
61,141
62,141
63,141
55,142
56,142
57,142
58,142
59,142
60,142
57,143
58,143
59,143
60,143
52,144
57,144
58,144
59,144
63,144
57,145
58,145
61,145
62,145
54,146
55,146
56,146
59,146
60,146
63,146
55,147
56,147
57,147
58,147
59,147
60,147
55,148
57,148
58,148
59,148
60,148
56,149
57,149
59,149
60,149
61,149
63,149
54,150
55,150
60,150
62,150
54,151
55,151
56,151
58,151
60,151
62,151
55,152
56,152
58,152
59,152
61,152
62,152
54,153
58,153
56,154
57,154
52,155
53,155
54,155
55,155
57,155
58,155
59,155
48,156
53,156
56,156
57,156
59,156
49,157
54,157
57,157
58,157
59,157
61,157
51,158
55,158
56,158
57,158
59,158
48,159
56,159
57,159
59,159
61,159
53,160
56,160
58,160
59,160
54,161
58,161
55,162
53,163
55,163
59,163
54,164
55,164
56,164
57,164
59,164
51,165
52,165
55,165
56,165
57,165
58,165
51,166
52,166
55,166
57,166
58,166
53,167
54,167
55,167
56,167
57,167
58,167
59,167
51,168
54,168
55,168
56,168
57,168
60,168
54,169
55,169
56,169
57,169
58,169
59,169
51,170
52,170
53,170
58,170
53,171
54,171
55,171
58,171
52,172
56,172
57,172
58,172
60,172
59,173
51,174
52,174
53,174
54,174
56,174
58,174
54,175
55,175
56,175
58,175
54,176
56,176
57,176
59,176
52,177
53,177
54,177
58,177
59,177
62,177
56,178
51,179
54,179
56,179
58,179
52,180
53,180
55,180
56,180
57,180
58,180
59,180
61,180
56,181
57,181
58,181
59,181
60,181
50,182
54,182
56,182
57,182
58,182
52,183
54,183
55,183
58,183
61,183
50,184
56,184
58,184
59,184
50,185
54,185
55,185
56,185
58,185
60,185
54,186
56,186
58,186
61,186
57,187
58,187
62,187
53,188
54,188
55,188
56,188
57,188
59,188
60,188
56,189
57,189
59,189
55,190
56,190
60,190
61,190
54,191
55,191
56,191
57,191
58,191
59,191
60,191
61,191
55,192
57,192
58,192
59,192
57,193
58,193
59,193
60,193
61,193
55,194
57,194
59,194
61,194
62,194
63,194
55,195
58,195
59,195
60,195
61,195
58,196
59,196
61,196
63,196
51,197
55,197
59,197
60,197
61,197
54,198
57,199
58,199
60,199
61,199
63,199
65,199
67,199
57,200
61,200
59,201
60,201
61,201
62,201
64,201
67,201
57,202
59,202
60,202
61,202
62,202
63,202
67,202
55,203
60,203
61,203
63,203
65,203
58,204
60,204
61,204
63,204
64,204
65,204
63,205
64,205
67,205
58,206
60,206
64,206
65,206
66,206
61,207
62,207
63,207
65,207
66,207
59,208
61,208
62,208
63,208
64,208
71,208
59,209
61,209
62,209
64,209
65,209
66,209
67,209
61,210
63,210
66,210
67,210
57,211
59,211
61,211
62,211
64,211
69,211
63,212
64,212
66,213
69,213
63,214
65,214
67,214
60,215
65,215
66,215
68,215
63,216
64,216
66,216
67,216
69,216
67,217
68,217
70,217
73,217
62,218
64,218
65,218
66,218
67,218
68,218
69,218
72,218
63,219
64,219
67,219
68,219
69,219
73,219
63,220
64,220
68,220
69,220
71,220
61,221
65,221
68,221
70,221
71,221
73,221
63,222
72,222
73,222
64,223
68,223
69,223
70,223
73,223
75,223
73,224
74,224
64,225
70,225
73,225
77,225
66,226
68,226
69,226
70,226
71,226
72,226
74,226
75,226
71,227
73,227
74,227
75,227
76,227
68,228
69,228
70,228
73,228
74,228
75,228
76,228
71,229
75,229
71,230
73,230
77,230
68,231
70,231
71,231
72,231
74,231
75,231
70,232
71,232
74,232
76,232
79,232
71,233
75,233
77,233
78,233
79,233
70,234
71,234
72,234
73,234
74,234
76,234
78,234
73,235
75,235
76,235
77,235
78,235
79,235
73,236
75,236
76,236
78,236
81,236
82,236
72,237
75,237
77,237
78,237
79,237
80,237
78,238
83,238
76,239
80,239
82,239
83,239
77,240
78,240
79,240
80,240
83,240
84,240
77,241
79,241
83,241
85,241
77,242
78,242
80,242
81,242
82,242
83,242
86,242
79,243
81,243
83,243
86,243
79,244
80,244
81,244
82,244
86,244
92,244
78,245
79,245
80,245
81,245
84,245
85,245
87,245
88,245
80,246
83,246
86,246
87,246
89,246
90,246
82,247
84,247
85,247
87,247
88,247
89,247
83,248
85,248
86,248
88,248
89,248
90,248
91,248
92,248
84,249
85,249
88,249
89,249
90,249
82,250
85,250
87,250
92,250
93,250
94,250
99,250
85,251
86,251
88,251
89,251
90,251
91,251
92,251
80,252
83,252
85,252
86,252
87,252
90,252
91,252
92,252
95,252
84,253
87,253
90,253
92,253
85,254
88,254
89,256
1 # saved_on DATA
2 # master_file R20707P0.CSV
3 # remote_begin BEGIN_REMOTE_CSV SOURCE=BOARD_REMOTE SPI=2 BIT=6 POINTS=878 MODE=ORDINARY STATUS=OK
4 # source BOARD_REMOTE
5 # spi SPI2
6 # tick_ms 234271
7 # bit 6
8 # edge_mode ORDINARY
9 # points 878
10 x y
11 84 78
12 89 80
13 87 81
14 86 82
15 87 82
16 88 82
17 90 82
18 93 82
19 95 82
20 86 83
21 89 83
22 90 83
23 92 83
24 85 84
25 86 84
26 88 84
27 89 84
28 90 84
29 92 84
30 85 85
31 86 85
32 88 85
33 89 85
34 90 85
35 93 85
36 94 85
37 83 86
38 87 86
39 88 86
40 89 86
41 91 86
42 93 86
43 86 87
44 87 87
45 93 87
46 82 88
47 83 88
48 84 88
49 86 88
50 87 88
51 78 89
52 79 89
53 82 89
54 83 89
55 85 89
56 86 89
57 87 89
58 80 90
59 81 90
60 82 90
61 83 90
62 84 90
63 80 91
64 81 91
65 82 91
66 83 91
67 84 91
68 85 91
69 86 91
70 87 91
71 81 92
72 85 92
73 87 92
74 88 92
75 90 92
76 77 93
77 78 93
78 79 93
79 82 93
80 83 93
81 84 93
82 85 93
83 76 94
84 78 94
85 79 94
86 81 94
87 83 94
88 84 94
89 85 94
90 86 94
91 79 95
92 81 95
93 82 95
94 75 96
95 78 96
96 79 96
97 81 96
98 84 96
99 76 97
100 77 97
101 79 97
102 81 97
103 82 97
104 73 98
105 77 98
106 80 98
107 81 98
108 82 98
109 72 99
110 74 99
111 75 99
112 76 99
113 77 99
114 78 99
115 80 99
116 70 100
117 71 100
118 73 100
119 74 100
120 76 100
121 77 100
122 78 100
123 80 100
124 74 101
125 76 101
126 77 101
127 78 101
128 79 101
129 82 101
130 69 102
131 70 102
132 76 102
133 77 102
134 80 102
135 71 103
136 73 103
137 74 103
138 75 103
139 76 103
140 69 104
141 71 104
142 72 104
143 74 104
144 75 104
145 76 104
146 77 104
147 79 104
148 80 104
149 70 105
150 71 105
151 72 105
152 73 105
153 74 105
154 77 105
155 80 105
156 68 106
157 73 106
158 75 106
159 80 106
160 70 107
161 72 107
162 73 107
163 78 107
164 68 108
165 70 108
166 73 108
167 75 108
168 76 108
169 64 109
170 68 109
171 70 109
172 74 109
173 75 109
174 68 110
175 69 110
176 70 110
177 71 110
178 72 110
179 73 110
180 76 110
181 65 111
182 68 111
183 69 111
184 70 111
185 71 111
186 73 111
187 66 112
188 67 112
189 68 112
190 69 112
191 70 112
192 74 112
193 64 113
194 66 113
195 69 113
196 70 113
197 73 113
198 74 113
199 63 114
200 66 114
201 68 114
202 69 114
203 70 114
204 62 115
205 63 115
206 65 115
207 67 115
208 69 115
209 71 115
210 72 115
211 66 116
212 67 116
213 68 116
214 69 116
215 68 117
216 69 117
217 61 118
218 65 118
219 66 118
220 67 118
221 68 118
222 69 118
223 59 119
224 64 119
225 66 119
226 67 119
227 69 119
228 62 120
229 65 120
230 66 120
231 67 120
232 69 120
233 71 120
234 63 121
235 65 121
236 68 121
237 59 122
238 63 122
239 64 122
240 65 122
241 66 122
242 69 122
243 64 123
244 65 123
245 66 123
246 67 123
247 68 123
248 69 123
249 62 124
250 64 124
251 65 124
252 66 124
253 63 125
254 65 125
255 66 125
256 67 125
257 59 126
258 62 126
259 64 126
260 58 127
261 61 127
262 65 127
263 66 127
264 63 128
265 62 129
266 66 129
267 67 129
268 59 130
269 61 130
270 64 130
271 66 130
272 58 131
273 59 131
274 62 131
275 63 131
276 65 131
277 66 131
278 58 132
279 59 132
280 60 132
281 61 132
282 65 132
283 54 133
284 55 133
285 58 133
286 60 133
287 61 133
288 63 133
289 56 134
290 59 134
291 61 134
292 63 134
293 64 134
294 58 135
295 59 135
296 60 135
297 61 135
298 64 135
299 58 136
300 60 136
301 61 136
302 62 136
303 63 136
304 56 137
305 59 137
306 60 137
307 61 137
308 64 137
309 55 138
310 56 138
311 57 138
312 58 138
313 60 138
314 61 138
315 64 138
316 56 139
317 58 139
318 59 139
319 60 139
320 61 139
321 62 139
322 63 139
323 55 140
324 62 140
325 56 141
326 57 141
327 59 141
328 60 141
329 61 141
330 62 141
331 63 141
332 55 142
333 56 142
334 57 142
335 58 142
336 59 142
337 60 142
338 57 143
339 58 143
340 59 143
341 60 143
342 52 144
343 57 144
344 58 144
345 59 144
346 63 144
347 57 145
348 58 145
349 61 145
350 62 145
351 54 146
352 55 146
353 56 146
354 59 146
355 60 146
356 63 146
357 55 147
358 56 147
359 57 147
360 58 147
361 59 147
362 60 147
363 55 148
364 57 148
365 58 148
366 59 148
367 60 148
368 56 149
369 57 149
370 59 149
371 60 149
372 61 149
373 63 149
374 54 150
375 55 150
376 60 150
377 62 150
378 54 151
379 55 151
380 56 151
381 58 151
382 60 151
383 62 151
384 55 152
385 56 152
386 58 152
387 59 152
388 61 152
389 62 152
390 54 153
391 58 153
392 56 154
393 57 154
394 52 155
395 53 155
396 54 155
397 55 155
398 57 155
399 58 155
400 59 155
401 48 156
402 53 156
403 56 156
404 57 156
405 59 156
406 49 157
407 54 157
408 57 157
409 58 157
410 59 157
411 61 157
412 51 158
413 55 158
414 56 158
415 57 158
416 59 158
417 48 159
418 56 159
419 57 159
420 59 159
421 61 159
422 53 160
423 56 160
424 58 160
425 59 160
426 54 161
427 58 161
428 55 162
429 53 163
430 55 163
431 59 163
432 54 164
433 55 164
434 56 164
435 57 164
436 59 164
437 51 165
438 52 165
439 55 165
440 56 165
441 57 165
442 58 165
443 51 166
444 52 166
445 55 166
446 57 166
447 58 166
448 53 167
449 54 167
450 55 167
451 56 167
452 57 167
453 58 167
454 59 167
455 51 168
456 54 168
457 55 168
458 56 168
459 57 168
460 60 168
461 54 169
462 55 169
463 56 169
464 57 169
465 58 169
466 59 169
467 51 170
468 52 170
469 53 170
470 58 170
471 53 171
472 54 171
473 55 171
474 58 171
475 52 172
476 56 172
477 57 172
478 58 172
479 60 172
480 59 173
481 51 174
482 52 174
483 53 174
484 54 174
485 56 174
486 58 174
487 54 175
488 55 175
489 56 175
490 58 175
491 54 176
492 56 176
493 57 176
494 59 176
495 52 177
496 53 177
497 54 177
498 58 177
499 59 177
500 62 177
501 56 178
502 51 179
503 54 179
504 56 179
505 58 179
506 52 180
507 53 180
508 55 180
509 56 180
510 57 180
511 58 180
512 59 180
513 61 180
514 56 181
515 57 181
516 58 181
517 59 181
518 60 181
519 50 182
520 54 182
521 56 182
522 57 182
523 58 182
524 52 183
525 54 183
526 55 183
527 58 183
528 61 183
529 50 184
530 56 184
531 58 184
532 59 184
533 50 185
534 54 185
535 55 185
536 56 185
537 58 185
538 60 185
539 54 186
540 56 186
541 58 186
542 61 186
543 57 187
544 58 187
545 62 187
546 53 188
547 54 188
548 55 188
549 56 188
550 57 188
551 59 188
552 60 188
553 56 189
554 57 189
555 59 189
556 55 190
557 56 190
558 60 190
559 61 190
560 54 191
561 55 191
562 56 191
563 57 191
564 58 191
565 59 191
566 60 191
567 61 191
568 55 192
569 57 192
570 58 192
571 59 192
572 57 193
573 58 193
574 59 193
575 60 193
576 61 193
577 55 194
578 57 194
579 59 194
580 61 194
581 62 194
582 63 194
583 55 195
584 58 195
585 59 195
586 60 195
587 61 195
588 58 196
589 59 196
590 61 196
591 63 196
592 51 197
593 55 197
594 59 197
595 60 197
596 61 197
597 54 198
598 57 199
599 58 199
600 60 199
601 61 199
602 63 199
603 65 199
604 67 199
605 57 200
606 61 200
607 59 201
608 60 201
609 61 201
610 62 201
611 64 201
612 67 201
613 57 202
614 59 202
615 60 202
616 61 202
617 62 202
618 63 202
619 67 202
620 55 203
621 60 203
622 61 203
623 63 203
624 65 203
625 58 204
626 60 204
627 61 204
628 63 204
629 64 204
630 65 204
631 63 205
632 64 205
633 67 205
634 58 206
635 60 206
636 64 206
637 65 206
638 66 206
639 61 207
640 62 207
641 63 207
642 65 207
643 66 207
644 59 208
645 61 208
646 62 208
647 63 208
648 64 208
649 71 208
650 59 209
651 61 209
652 62 209
653 64 209
654 65 209
655 66 209
656 67 209
657 61 210
658 63 210
659 66 210
660 67 210
661 57 211
662 59 211
663 61 211
664 62 211
665 64 211
666 69 211
667 63 212
668 64 212
669 66 213
670 69 213
671 63 214
672 65 214
673 67 214
674 60 215
675 65 215
676 66 215
677 68 215
678 63 216
679 64 216
680 66 216
681 67 216
682 69 216
683 67 217
684 68 217
685 70 217
686 73 217
687 62 218
688 64 218
689 65 218
690 66 218
691 67 218
692 68 218
693 69 218
694 72 218
695 63 219
696 64 219
697 67 219
698 68 219
699 69 219
700 73 219
701 63 220
702 64 220
703 68 220
704 69 220
705 71 220
706 61 221
707 65 221
708 68 221
709 70 221
710 71 221
711 73 221
712 63 222
713 72 222
714 73 222
715 64 223
716 68 223
717 69 223
718 70 223
719 73 223
720 75 223
721 73 224
722 74 224
723 64 225
724 70 225
725 73 225
726 77 225
727 66 226
728 68 226
729 69 226
730 70 226
731 71 226
732 72 226
733 74 226
734 75 226
735 71 227
736 73 227
737 74 227
738 75 227
739 76 227
740 68 228
741 69 228
742 70 228
743 73 228
744 74 228
745 75 228
746 76 228
747 71 229
748 75 229
749 71 230
750 73 230
751 77 230
752 68 231
753 70 231
754 71 231
755 72 231
756 74 231
757 75 231
758 70 232
759 71 232
760 74 232
761 76 232
762 79 232
763 71 233
764 75 233
765 77 233
766 78 233
767 79 233
768 70 234
769 71 234
770 72 234
771 73 234
772 74 234
773 76 234
774 78 234
775 73 235
776 75 235
777 76 235
778 77 235
779 78 235
780 79 235
781 73 236
782 75 236
783 76 236
784 78 236
785 81 236
786 82 236
787 72 237
788 75 237
789 77 237
790 78 237
791 79 237
792 80 237
793 78 238
794 83 238
795 76 239
796 80 239
797 82 239
798 83 239
799 77 240
800 78 240
801 79 240
802 80 240
803 83 240
804 84 240
805 77 241
806 79 241
807 83 241
808 85 241
809 77 242
810 78 242
811 80 242
812 81 242
813 82 242
814 83 242
815 86 242
816 79 243
817 81 243
818 83 243
819 86 243
820 79 244
821 80 244
822 81 244
823 82 244
824 86 244
825 92 244
826 78 245
827 79 245
828 80 245
829 81 245
830 84 245
831 85 245
832 87 245
833 88 245
834 80 246
835 83 246
836 86 246
837 87 246
838 89 246
839 90 246
840 82 247
841 84 247
842 85 247
843 87 247
844 88 247
845 89 247
846 83 248
847 85 248
848 86 248
849 88 248
850 89 248
851 90 248
852 91 248
853 92 248
854 84 249
855 85 249
856 88 249
857 89 249
858 90 249
859 82 250
860 85 250
861 87 250
862 92 250
863 93 250
864 94 250
865 99 250
866 85 251
867 86 251
868 88 251
869 89 251
870 90 251
871 91 251
872 92 251
873 80 252
874 83 252
875 85 252
876 86 252
877 87 252
878 90 252
879 91 252
880 92 252
881 95 252
882 84 253
883 87 253
884 90 253
885 92 253
886 85 254
887 88 254
888 89 256