You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This updates the highlighted points when the time point changes. It also distinguishes between the number of loaded tracks and highlighted points at the current time point, presenting those to the user.
It does this by storing the point IDs in the tracks with the start and end time (which are all readily available), then using that to convert point IDs to time-specific indices.
This is probably the smallest change that gives us the behavior described in #53. However, this does against some of the ideas in #53 and #68. I agree that mixing ID conversion logic and geometry information is undesirable, so very open to other approaches here.
The approach here also has performance issues when a large number of tracks have been loaded because the conversion takes a little time.
I don't think this reviewable/mergable yet. The behavior might be good enough, but there are some performance issues. I'd also want to wait to merge #95 before marking this ready for review.
This is probably the smallest change that gives us the behavior described in #53. However, this does against some of the ideas in #53 and #68. I agree that mixing ID conversion logic and geometry information is undesirable, so very open to other approaches here.
My idea here would be to instead store a(nother) map on PointCanvas that maps curTime -> pointIndices (number -> Set<number>). This could be filled in during canvas.addTrack. Memory usage should be similar but it should be a bit faster to update, as there'd be no calculations and no loop over tracks when changing the timepoint.
I'm also trying to think about doing it in the shader (create a new PointsMaterial to support highlights), but I think it would be more complicated, less general-purpose, and it might not even be faster in the end.
(apologies - I know you said this is not ready for review)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #53
Closes #80
This updates the highlighted points when the time point changes. It also distinguishes between the number of loaded tracks and highlighted points at the current time point, presenting those to the user.
It does this by storing the point IDs in the tracks with the start and end time (which are all readily available), then using that to convert point IDs to time-specific indices.
This is probably the smallest change that gives us the behavior described in #53. However, this does against some of the ideas in #53 and #68. I agree that mixing ID conversion logic and geometry information is undesirable, so very open to other approaches here.
The approach here also has performance issues when a large number of tracks have been loaded because the conversion takes a little time.
zebrahub-update-selected-points.mp4