keep sweeps in acquisition order through history replays

The processor appended sweeps the GUI fed back to its own history, so its next replay
published them twice and out of order, and the B-scan came out with rotated columns.
Fed-back sweeps now stay out of that history, results are kept in timestamp order,
picking the displayed combo only redraws and only new sweeps are recorded to disk.
This commit is contained in:
Ayzen
2026-10-02 16:05:32 +03:00
parent 45861f4047
commit d283ecfdf1
11 changed files with 421 additions and 91 deletions
@@ -597,8 +597,11 @@ class AppWindowPipelineMixin:
if collection is None:
break
self._pipeline_metrics.record("processing", int(collection.processing_duration_ns))
record_result_history(self._result_history, collection)
self._record_collection("results", collection)
# Only a new sweep is a new measurement. Any other result is the processor
# reprocessing retained sweeps: recording it would duplicate a measurement
# or put one out of order.
if record_result_history(self._result_history, collection):
self._record_collection("results", collection)
latest = collection
return latest