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
+431
View File
@@ -0,0 +1,431 @@
# saved_on,DATA
# master_file,R20706P0.CSV
# remote_begin,BEGIN_REMOTE_CSV SOURCE=BOARD_REMOTE SPI=2 BIT=4 POINTS=421 MODE=ORDINARY STATUS=OK
# source,BOARD_REMOTE
# spi,SPI2
# tick_ms,234271
# bit,4
# edge_mode,ORDINARY
# points,421
x,y
86,78
87,78
88,78
85,79
86,79
87,79
83,80
84,80
85,80
86,80
83,81
84,81
85,81
86,81
82,82
83,82
84,82
82,83
83,83
80,84
81,84
82,84
80,85
81,85
79,86
80,86
81,86
78,87
79,87
80,87
77,88
78,88
79,88
76,89
77,89
78,89
76,90
77,90
75,91
76,91
77,91
75,92
76,92
74,93
75,93
73,94
74,94
75,94
71,95
72,95
73,95
74,95
72,96
73,96
71,97
72,97
73,97
70,98
71,98
72,98
69,99
70,99
71,99
72,99
69,100
70,100
68,101
69,101
70,101
68,102
69,102
67,103
68,103
69,103
66,104
67,104
68,104
66,105
67,105
66,106
67,106
64,107
65,107
66,107
67,107
65,108
66,108
64,109
65,109
63,110
64,110
65,110
63,111
64,111
63,112
64,112
62,113
63,113
61,114
62,114
63,114
61,115
62,115
63,115
61,116
62,116
60,117
61,117
60,118
61,118
60,119
60,120
58,121
59,121
60,121
59,122
60,122
58,123
59,123
58,124
59,124
58,125
59,125
57,126
58,126
59,126
57,127
58,127
57,128
55,129
56,129
57,129
55,130
56,130
57,130
56,131
57,131
55,132
56,132
57,132
55,133
56,133
55,134
56,134
54,135
55,135
56,135
54,136
55,136
54,137
55,137
56,137
54,138
55,138
54,139
55,139
53,140
54,140
53,141
54,141
52,142
53,142
54,142
55,142
53,143
54,143
53,144
54,144
52,145
53,145
54,145
52,146
53,146
54,146
52,147
53,147
52,148
53,148
52,149
53,149
52,150
53,150
52,151
53,151
52,152
53,152
52,153
53,153
51,154
52,154
53,154
50,155
52,155
50,156
52,156
51,157
52,157
51,158
52,158
52,159
51,160
52,160
51,161
52,161
52,162
51,163
52,163
51,164
52,164
51,165
52,165
53,165
51,166
52,166
51,167
52,167
51,168
52,168
51,169
52,169
51,170
52,170
51,171
52,171
51,172
52,172
53,172
51,173
52,173
51,174
52,174
53,174
52,175
53,175
51,176
52,176
53,176
52,177
53,177
51,178
52,178
53,178
53,179
52,180
53,180
52,181
53,181
54,181
53,182
52,183
53,183
54,183
53,184
54,184
53,185
54,185
53,186
54,186
54,187
54,188
55,188
54,189
55,189
54,190
55,190
53,191
54,191
55,191
55,192
56,192
55,193
56,193
54,194
55,194
56,194
55,195
56,195
57,195
55,196
56,196
57,196
58,196
56,197
57,197
58,197
56,198
57,198
56,199
57,199
58,199
57,200
58,200
57,201
58,201
57,202
58,202
59,202
57,203
58,203
59,203
58,204
59,204
59,205
60,205
59,206
60,206
59,207
60,207
61,207
62,207
59,208
60,208
61,208
60,209
61,209
61,210
62,210
60,211
61,211
62,211
62,212
61,213
62,213
63,213
62,214
63,214
64,214
62,215
63,215
64,215
62,216
63,216
64,216
65,216
63,217
64,217
64,218
65,218
64,219
65,219
66,219
65,220
66,220
65,221
66,221
67,221
66,222
67,222
68,222
66,223
67,223
68,223
67,224
68,224
69,224
70,224
68,225
69,225
68,226
69,226
70,226
69,227
70,227
71,227
69,228
70,228
70,229
71,229
72,229
71,230
72,230
72,231
73,231
72,232
73,232
74,232
73,233
74,233
73,234
74,234
75,234
76,234
75,235
76,235
76,237
77,237
77,238
78,238
77,239
78,239
79,239
78,240
79,240
80,240
79,241
80,241
81,241
82,241
80,242
81,242
82,242
81,243
82,243
82,244
83,244
81,245
82,245
83,245
84,245
85,245
83,246
84,246
85,246
84,247
85,247
86,247
88,247
85,248
86,248
87,248
86,249
1 # saved_on DATA
2 # master_file R20706P0.CSV
3 # remote_begin BEGIN_REMOTE_CSV SOURCE=BOARD_REMOTE SPI=2 BIT=4 POINTS=421 MODE=ORDINARY STATUS=OK
4 # source BOARD_REMOTE
5 # spi SPI2
6 # tick_ms 234271
7 # bit 4
8 # edge_mode ORDINARY
9 # points 421
10 x y
11 86 78
12 87 78
13 88 78
14 85 79
15 86 79
16 87 79
17 83 80
18 84 80
19 85 80
20 86 80
21 83 81
22 84 81
23 85 81
24 86 81
25 82 82
26 83 82
27 84 82
28 82 83
29 83 83
30 80 84
31 81 84
32 82 84
33 80 85
34 81 85
35 79 86
36 80 86
37 81 86
38 78 87
39 79 87
40 80 87
41 77 88
42 78 88
43 79 88
44 76 89
45 77 89
46 78 89
47 76 90
48 77 90
49 75 91
50 76 91
51 77 91
52 75 92
53 76 92
54 74 93
55 75 93
56 73 94
57 74 94
58 75 94
59 71 95
60 72 95
61 73 95
62 74 95
63 72 96
64 73 96
65 71 97
66 72 97
67 73 97
68 70 98
69 71 98
70 72 98
71 69 99
72 70 99
73 71 99
74 72 99
75 69 100
76 70 100
77 68 101
78 69 101
79 70 101
80 68 102
81 69 102
82 67 103
83 68 103
84 69 103
85 66 104
86 67 104
87 68 104
88 66 105
89 67 105
90 66 106
91 67 106
92 64 107
93 65 107
94 66 107
95 67 107
96 65 108
97 66 108
98 64 109
99 65 109
100 63 110
101 64 110
102 65 110
103 63 111
104 64 111
105 63 112
106 64 112
107 62 113
108 63 113
109 61 114
110 62 114
111 63 114
112 61 115
113 62 115
114 63 115
115 61 116
116 62 116
117 60 117
118 61 117
119 60 118
120 61 118
121 60 119
122 60 120
123 58 121
124 59 121
125 60 121
126 59 122
127 60 122
128 58 123
129 59 123
130 58 124
131 59 124
132 58 125
133 59 125
134 57 126
135 58 126
136 59 126
137 57 127
138 58 127
139 57 128
140 55 129
141 56 129
142 57 129
143 55 130
144 56 130
145 57 130
146 56 131
147 57 131
148 55 132
149 56 132
150 57 132
151 55 133
152 56 133
153 55 134
154 56 134
155 54 135
156 55 135
157 56 135
158 54 136
159 55 136
160 54 137
161 55 137
162 56 137
163 54 138
164 55 138
165 54 139
166 55 139
167 53 140
168 54 140
169 53 141
170 54 141
171 52 142
172 53 142
173 54 142
174 55 142
175 53 143
176 54 143
177 53 144
178 54 144
179 52 145
180 53 145
181 54 145
182 52 146
183 53 146
184 54 146
185 52 147
186 53 147
187 52 148
188 53 148
189 52 149
190 53 149
191 52 150
192 53 150
193 52 151
194 53 151
195 52 152
196 53 152
197 52 153
198 53 153
199 51 154
200 52 154
201 53 154
202 50 155
203 52 155
204 50 156
205 52 156
206 51 157
207 52 157
208 51 158
209 52 158
210 52 159
211 51 160
212 52 160
213 51 161
214 52 161
215 52 162
216 51 163
217 52 163
218 51 164
219 52 164
220 51 165
221 52 165
222 53 165
223 51 166
224 52 166
225 51 167
226 52 167
227 51 168
228 52 168
229 51 169
230 52 169
231 51 170
232 52 170
233 51 171
234 52 171
235 51 172
236 52 172
237 53 172
238 51 173
239 52 173
240 51 174
241 52 174
242 53 174
243 52 175
244 53 175
245 51 176
246 52 176
247 53 176
248 52 177
249 53 177
250 51 178
251 52 178
252 53 178
253 53 179
254 52 180
255 53 180
256 52 181
257 53 181
258 54 181
259 53 182
260 52 183
261 53 183
262 54 183
263 53 184
264 54 184
265 53 185
266 54 185
267 53 186
268 54 186
269 54 187
270 54 188
271 55 188
272 54 189
273 55 189
274 54 190
275 55 190
276 53 191
277 54 191
278 55 191
279 55 192
280 56 192
281 55 193
282 56 193
283 54 194
284 55 194
285 56 194
286 55 195
287 56 195
288 57 195
289 55 196
290 56 196
291 57 196
292 58 196
293 56 197
294 57 197
295 58 197
296 56 198
297 57 198
298 56 199
299 57 199
300 58 199
301 57 200
302 58 200
303 57 201
304 58 201
305 57 202
306 58 202
307 59 202
308 57 203
309 58 203
310 59 203
311 58 204
312 59 204
313 59 205
314 60 205
315 59 206
316 60 206
317 59 207
318 60 207
319 61 207
320 62 207
321 59 208
322 60 208
323 61 208
324 60 209
325 61 209
326 61 210
327 62 210
328 60 211
329 61 211
330 62 211
331 62 212
332 61 213
333 62 213
334 63 213
335 62 214
336 63 214
337 64 214
338 62 215
339 63 215
340 64 215
341 62 216
342 63 216
343 64 216
344 65 216
345 63 217
346 64 217
347 64 218
348 65 218
349 64 219
350 65 219
351 66 219
352 65 220
353 66 220
354 65 221
355 66 221
356 67 221
357 66 222
358 67 222
359 68 222
360 66 223
361 67 223
362 68 223
363 67 224
364 68 224
365 69 224
366 70 224
367 68 225
368 69 225
369 68 226
370 69 226
371 70 226
372 69 227
373 70 227
374 71 227
375 69 228
376 70 228
377 70 229
378 71 229
379 72 229
380 71 230
381 72 230
382 72 231
383 73 231
384 72 232
385 73 232
386 74 232
387 73 233
388 74 233
389 73 234
390 74 234
391 75 234
392 76 234
393 75 235
394 76 235
395 76 237
396 77 237
397 77 238
398 78 238
399 77 239
400 78 239
401 79 239
402 78 240
403 79 240
404 80 240
405 79 241
406 80 241
407 81 241
408 82 241
409 80 242
410 81 242
411 82 242
412 81 243
413 82 243
414 82 244
415 83 244
416 81 245
417 82 245
418 83 245
419 84 245
420 85 245
421 83 246
422 84 246
423 85 246
424 84 247
425 85 247
426 86 247
427 88 247
428 85 248
429 86 248
430 87 248
431 86 249