Draw the line for a Trail even if all its Tracks are offscreen
johnwdubois opened this issue · 0 comments
johnwdubois commented
Bug
- Lines between 2 successive Tracks in a Trail disappear (when the Tracks are too far apart to be shown on screen).
- This can be confusing to users, as if the link has been lost.
- A less confusing solution is needed.
To Reproduce
Steps to reproduce the behavior:
- Make a Trail with Tracks in Units that are far enough apart that each of 2 successive Tracks cannot be seen on-screen at one time.
- For contrast, also make some Tracks in nearby Units (with consistently visible Trail lines).
- Hit ESC to de-select the Trail (to eliminate the pick-whip).
- Starting from the first Track in the Trail, scroll down until you can no longer see the first Track, nor its line, nor any other Track in the Trail.
- See how the lines disappear.
Goal
A less confusing solution would be to:
- keep showing the line for the Trail on-screen
- even when it's Tracks are off-screen
- but in a way that does not interfere with other Trails whose Tracks are currently visible on-screen.
What to do
- While a Trail is selected, and scrolling results in no Tracks being visible on-screen (causing the Trail line to disappear), do this:.
- flag the Trail as
TrailIsOffscreen
= TRUE - a
VirtualTrack
should be created "just" offscreen - distinguish between
VirtualTrackIsOffscreenAbove
= TRUE vs.VirtualTrackIsOffscreenAbove
= FALSE (i.e. below)
- The X position of the virtual Track can be:
- an arbitrary position toward the right side of the screen (where the screen is mostly empty; this would avoid overloading the screen with "long-distance"/"off-screen" Trails.
- the last known X position of the relevant Track (before it scrolled offscreen)
- a combination of the 2 above, sliding from one to the other
- Draw the lines to connect the offscreen Trails (preferably on the far right of the screen).
- Do this for all offscreen chains that involve lines:
- offscreen Trails
- offscreen Resonances