Making flow wiring easier to track

Wow - well, at the risk of having my baby called ugly... imo, this is not only very useful, but fairly nice looking! ;*)

The debug node clearly has a wire attached (as denoted by the arrowhead), while the wire is routed behind the subflow node and not connected (an empty input port defaults to a diamond shape).

Frankly, I could take it or leave it - but the people paying my salary LOVE the arrowheads. And since I don't want to continue to be in the business of maintaining custom editor code just to draw some arrowheads, I have a proposal: pluggable functions for common editor svg drawing tasks.

That way, the core team would not have to deal with requests for:

  • alternate wire routing paths (iirc, discussed in google groups in 2018)
  • input/output port shapes (see Nick's suggested implementation)
  • extra canvas background elements (e.g. swimlanes anyone?)
  • alternate displays for the grid (i.e. major/minor tics, as requested recently)

Users would be free to add their own SVG "styling" to the editor without changing the flow file format. I could imagine installing contributed "themes" from the flows library, similar to applying different CSS styles/themes for the dashboard. And since it would get me out of custom NR editor maintenance, I'd be willing to put together a PR to get the ball rolling...

Can I get an "Amen", anyone? Or is this just a bunch of faff? Inquiring minds want to know...

3 Likes

This moving quite away from simplee node alignment :slight_smile:

Could I suggest splitting the topic to talk about other UI feature requests

Yes, of course -- good call. I don't see a way to do that myself, so I've flagged it for admin attention.

I'm stated many times a desire to make the editor appearance more customizable. Buts it's an incredibly broad topic that has, so far, eluded the required light ulb moment to see how it would work in practise.

What's needed at this point isn't a PR but a design discussion. You've described a very broad range of possible customisations. there needs to be a proper discussion over scope of the feature, what APIs are required and how it would work.

This forum isn't the place for that level of discussion. So please start a discussion in the designs repo here: Discussions · node-red/designs · GitHub with an outline of what you're proposing.

3 Likes