Open Keavon opened 1 month ago
A short-term hard-coded solution for Transform and Path nodes would be useful before a proper system like this is built.
I got this
@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).
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.)