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