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