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