Zoomable & Scrollable
A timing diagram is 2D rendering with the following axis:
- X : representing time
- Y : rows representing list of selected signals / bundles
Rows
- Each signal row has static height.
- All rows are scaled horisontaly to a certain scaling factor.
- Number of rows is defined as subset of total number of signals in the datadump.
- At any given time USER sees the timing diagram through the rectangular window that can be smaller then full X, Y dimentions.
Zooming & Scrolling
- horizontal zooming
- horizontal scrolling
- vertical scrolling
- a sane starting zoom level. I get tired of opening a new waveform and having to hit the zoom out button a million times to see a single clock tick.
Originally posted by @nturley in https://github.com/wavedrom/zoom/issues/1#issuecomment-435543623
"Each signal row has static height." - except for the "line chart" (aka "analog waveform") view, where the height of the row should be draggable.
In the "line chart" mode for a signal trace, the limits of the displayed trace should be zoomable and scrollable.
Probably goes without saying, but horizontal zooming should work with Ctrl-Mousewheel and should zoom around the mouse pointer (like in map application). (There are commercial waveform viewers that instead zoom the center of the window, which doesn't quite feel natural these days.)