Skip to content

Move layer range selection logic to the Rust editor codebase #297

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Keavon opened this issue Jul 24, 2021 · 0 comments · Fixed by #410
Closed

Move layer range selection logic to the Rust editor codebase #297

Keavon opened this issue Jul 24, 2021 · 0 comments · Fixed by #410
Assignees
Labels
Web Involves web programming (TypeScript, Svelte, CSS)
Milestone

Comments

@Keavon
Copy link
Member

Keavon commented Jul 24, 2021

#137 added layer range selection in JS (using Shift and Ctrl modifier keys to expand a selection in the Layer Tree panel). See LayerTree.vue for the handleControlClick(), handleShiftClick(), handleClick(), deselectAllLayers(), fillSelectionRange(), clearSelection(), and sendSelectedLayers() methods which pertain to this. Currently range selection mostly works (although there are bugs that can cause index out of bounds exceptions in JS), but it is very limited and buggy. Changing the list of layers (adding, duplicating, moving, etc.) causes problems with the selection context. Range selection will also need to work across folders. Another problem is that range selection does not preserve a shared context between layer selection in the Layer Tree panel and within the viewport. This shared context needs to understand which layer was most recently selected to know which range to expand from.

Another small detail is that Shift is the only modifier key used for range selection of layers in the viewport, since but Ctrl is also used in the Layer Tree panel. That's because the viewport only adds/removes layers from the selection while the Layer Tree does that and also does range selection from the recent selected layer context.

@Keavon Keavon added Available Web Involves web programming (TypeScript, Svelte, CSS) labels Jul 24, 2021
@Keavon Keavon added this to the Sprint 7 (upcoming) milestone Jul 24, 2021
@Keavon Keavon added P-High and removed P-Medium labels Aug 14, 2021
@otdavies otdavies self-assigned this Dec 13, 2021
@0HyperCube 0HyperCube moved this to Completed This Sprint in Task Board Mar 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Web Involves web programming (TypeScript, Svelte, CSS)
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants