setzer22 / egui_node_graph

Build your node graph applications in Rust, using egui
MIT License
718 stars 134 forks source link

Add ParamId to output_ui & value_widget{,_connected} methods #99

Open tinou98 opened 1 year ago

tinou98 commented 1 year ago

Currently, only the name is provided. I added to InputId or OutputId. It's problematic on my side as I handle multiple many-to-many relation with multiple inputs with the same name.

Warning : This is a breaking change, all client code must add this parameter to these 3 methods. This would be possible to avoid that at the cost of complexity.

kamirr commented 1 year ago

I feel like the signatures of those methods are getting bloated, maybe we could make param_name be a member of {Input,Output}Param which is easily accessible in O(1) and drop it from the Vec? Also, considering that we introduce a breakage into the signatures of these functions we could also re-order the fields to make stuff a bit more consistent.

Other than that I like this change, param ids are certainly more fundamental than names and I've personally found myself recovering the id from the name a couple of times.