Graphite icon indicating copy to clipboard operation
Graphite copied to clipboard

Destructive node collapse

Open Keavon opened this issue 1 year ago • 3 comments

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 avatar Oct 04 '24 06:10 Keavon

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

Keavon avatar Oct 04 '24 16:10 Keavon

I got this

moosama76 avatar Oct 09 '24 02:10 moosama76

@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).

Keavon avatar Oct 09 '24 07:10 Keavon