-
-
Notifications
You must be signed in to change notification settings - Fork 437
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
Remove type check when iterating upstream #2055
base: master
Are you sure you want to change the base?
Conversation
Found Clippy warningsClippy Warnings/Errors
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code looks good.
Automatically inserting the flatten elements before the path node foregrounds an issue with the ID collisions. If you have a group with two shapes with the same point ids (e.g. two rectangles) and flatten them, the ids for the second rectangle differ each time, meaning that it is not possible to drag them around.
Yes, that is why I created the generate_from_hash, which generates stable yet unique ids based on the NodeId of the merge node that the vector data flows through. It is implemented for the flatten vector elements in #2049, here where I needed the functionality to add the joining of vector data with the pen tool (this should be split into a separate PR). It is also currently used by the repeat and copy to point nodes so that each new vector data has stable and unique ids. This is still a work around to allowing the path tool to operate directly on vector data. A more robust method is necessary for the path node to input and output a GraphicGroup. I suppose each vector data will need a unique ID that the path node can reference, since the merge node id will change when it is copy and pasted. |
@Keavon Noted a crash on this branch, but I have not been able to reproduce it |
I changed the upstream traversal for the tools to only iterate over the same type so that modifications to the output of a Boolean were applied to the vector data after the operation, not an upstream path node. This was a hacky solution, and we need better support for selection which path node to modify. This can be done with dots in the layer panel. More information in comment above
existing_node_id