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