docs: todo.md rewritten around what is left

The four original items are done. What replaces them: the invisible
riser, relative timing, named configurations, frame storage for
forensics, opening exported waveforms, the plot context menu, drag
resize, an event cache with replay, and a preferences dialog.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Martino FerrariandClaude Opus 4.6 committed 2026-10-08 16:56:36 +02:00
1 parent 82180f45f7
commit ec8eae0317
1 file changed
+30 -8
+30 -8
View File
@@ -1,8 +1,30 @@
1. better time window management: 1. fix vertical lines to small to be seen: in some cases (e.g. rect waveform in @mock_upstreamer.py) the vertical lines are to thin to be visible (sometime they glitch in and out of existence):
1. the antialisaing strategy with phosphore effect should be applied with more stregth
- instead of a drop down simple combo should be an advanced sub menu with text input + unit selector (us,ms,s,min) + two button to increase / decrease (factor 10 each time) 2. the lines should be more tick
- when `timewindow x sample rate x sample size` is greater than `buffer size` apply downsampling of input signals with low pass filter to match the correct freq: e.g. downsample at 100kSps -> low pass filter at 50kHz 3. the sample points should be bigger
2. relative timing:
2. improve layout management: instead of a fix number of figure, in the menu add a layout editor option, user can add and remove rows ([x] close to the top left of the row to remove, [+] in the top center and bottom center to add new one [above] and [below]) - in order to avoid problem with time jitter user can decide to go in relative time mode
3. improve plot font rendering and line rendering - in this mode absolute signal time is only use for export
4. improve plot performances with large data (e.g. at 10MSamples the plot start to be laggy) - the plot time depends just on signal sample rate and frame number, e.g.:
- user is acquiring a signal with 1MSps and 100_000 samples per udp frame
- last frame as number <N> and previous <N-2> in this case a 100_000 indexes must be skipped
- time is simply: `((<N_frame> - <N_last>) * <n_samples_per_frame> - <sample_index>) / <sample rate>` (or something like that)
3. named configurations: in order to have multiples configurations for the same sources configuration can also have comments
4. optional udp frame storage for debugging of strange behaviours (store last <N>, default = 1000, udp packets binary content on disk for forensic analyss)
5. open exported binary waveforms to view/analyse, in the source selection dialog there should be the option to open exported waveform (maybe a tab with latest opened file and option to open new ones?)
6. imporve right click menu on the plots:
- use same compact style of main menu
- add a [remove signal] entry that open a submenu to delete signasl
7. in layout edit mode add the option to drag plot border to resize them
8. add option to automatic save the last <N> triggered acquisitions in a cache folder and let the user replay them
- a collapsable pane on the left with the list of the last <N> acqusition with duration number of signals etc
- user select one and immidiatly open it
- this option would only be available in trigger mode
9. preferences dialog:
- user can choose evnt cache directory (default <home>/.cache/udpscope/<source>/events/)
- maximum number of events to cache
- disable completly the events storage option
- enable/disable relative time mode
- interface dark/light/auto color
- defaults
- other parameters