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