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