Skip to content

Overhaul Unity lists and trees #49

Description

@Warlander

Current system is prone to slowdowns when switching to a tab with a lot of tree elements (like walls and objects/decorations) for the first time due to creating all the tree elements at once instead of lazily. It also mixes model and view (updaters need to hold reference to a view to figure out which element is currently active or if it changed, for example), and isn't very flexible as any feature like filtering/searching needs to be implemented in view.

Some implementation points:

  • Separate model and view for Unity lists and trees.
  • Possibly resign from concept of separate lists and trees altogether - list can be just a tree without any branches.
  • Allow view to accept different models (by attaching/detaching/reattaching them).
  • Make it possible for a view to dynamically change depending on model changes.
  • Introduce cache for views (so features like filtering or altering the data can be done without being too expensive).
  • Introduce (optional) lazy loading for tree leaves and branches.
  • Better generics support so values from trees don't need to be cast constantly across the codebase.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestmedium priorityMedium priority fix or improvement

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions