johnwdubois/rezonator

Draw the line for a Trail even if all its Tracks are offscreen

johnwdubois opened this issue · 0 comments

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:

  1. 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.
  2. For contrast, also make some Tracks in nearby Units (with consistently visible Trail lines).
  3. Hit ESC to de-select the Trail (to eliminate the pick-whip).
  4. 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.
  5. 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

  1. 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)
  1. 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
  1. Draw the lines to connect the offscreen Trails (preferably on the far right of the screen).
  2. Do this for all offscreen chains that involve lines:
  • offscreen Trails
  • offscreen Resonances