Skip to content
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

Destructive node collapse #2021

Open
Keavon opened this issue Oct 4, 2024 · 3 comments
Open

Destructive node collapse #2021

Keavon opened this issue Oct 4, 2024 · 3 comments
Labels
Feature New feature or request Rust Involves Rust programming for the backend

Comments

@Keavon
Copy link
Member

Keavon commented Oct 4, 2024

It should be possible to right click a node and collapse its effect into its upstream nodes, whenever that's possible. For example, a Transform node should be able to update the nodes upstream of it to produce the same result without its continued presence. This should work for all nodes that could support something of the sort. For example, if a Round Corners node (which we don't have yet) is applied downstream of a Rectangle node, it could be collapsed by setting the original Rectangle node's corner rounding parameter to an equivalent value after factoring in any transformations that have altered its scale along the data flow. We may need some kind of system to encode and calculate equivalence relations. (This full system could be a GSoC project.)

@Keavon Keavon added Feature New feature or request Rust Involves Rust programming for the backend labels Oct 4, 2024
@Keavon
Copy link
Member Author

Keavon commented Oct 4, 2024

A short-term hard-coded solution for Transform and Path nodes would be useful before a proper system like this is built.

@moOsama76
Copy link
Contributor

I got this

@Keavon
Copy link
Member Author

Keavon commented Oct 9, 2024

@moOsama76 this is a reasonably complex task (even the short-term version) that would be a sizable step up in difficulty over your past contributions so I'd recommend considering tasks that are a bit simpler for now and continue working up towards this one. I can try and pick out some suggestions for you if you ask on Discord (but I've been short on time recently).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature New feature or request Rust Involves Rust programming for the backend
Projects
Status: Short-Term
Development

No branches or pull requests

3 participants
@Keavon @moOsama76 and others