IMO the closest thing to hitting all of these of which I am aware is Luna. But it fails on two big counts: (1) it is not closed— IIRC they wrapped Haskell. In particular, Haskell expressions were exposed in the editor, requiring the user to be able to speak Haskell in order to be able to use Luna. This is not a small mistake— the set of users who would need to use a visual tool the most are excluded from using it right off the bat. (2) The UX was, for a node-and-wire tool, not very good. It was visually "snazzy", but not very usable (no offense Luna devs). It seemed to me like the designers either weren't familiar with mature node and wire tools, or failed to learn from them.
If there is something that hits all of those, I would be very interested in knowing about it!
Also curious what y'all think about each of those points and/or if something is missing.