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