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