Add Tree structure and traversal #54
Open
kevzettler wants to merge 9 commits intochinedufn:masterfrom
Open
Conversation
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR adds a tree structure that represents the Psd layer tree. This PR preserves the existing layer and group interfaces. I added this tree feature because I needed to navigate without knowing the group names in advanced. Also I failed to construct a tree externally and maintain sort order on hierarchy levels that have mixed groups and layers using the existing group and layer interfaces. I needed to construct the tree at decode time to persevere the order. I feel this is a more intuitive interface to navigate the tree. This PR also adds a test that copies
one_group_with_two_subgroupstest but uses the tree interface to navigate.@chinedufn let me know your thoughts on the implementation I'm fairly new to rust and not sure if there's any optimizations to make here.