When thinking about graph layouts, Path of Exile’s skill tree comes to mind, and even Wall of Text’s touted “infinite canvas.” Graph layouts are a common use case. Thankfully with absolute positioning graph layouts can be achieved with UI Toolkit since Yoga observes this W3C standard whereby absolutely-positioned children are taken “out-of-flow.”
Now, in this comment by @uDamian , he remarks, “Absolute positioning is actually actively discouraged and only useful in special cases (like drag and drop ).”
Doesn’t it follow that any graph layout with absolutely/arbitrarily-positioned nodes is considered a “special case” in the context of UI Toolkit? I would agree that it is a special case, despite being common, since, in the web world, drawing edges between nodes has entire libraries such as Cytoscape dedicated to that purpose. Since graph nodes feature so much interactivity, CSS and markup just aren’t enough. That’s not to mention handling input/output between nodes, dragging and dropping, multi-selection, etc.
So this brings me to another tangentially-related comment : “GraphView was never released for public use and is not supported. It is unlikely to receive any updates.”
With that, the overall impression I’m getting is that users should not expect high-level graph layout support in UI Toolkit, although it will probably continue to pass-through conventions from Yoga, meaning we (the users) should be fine to build higher-level graph solutions on top of UI Toolkit via absolute positioning. Is that correct? It is it anticipated and recommended by the UI Toolkit maintainers that the users do this going forward?
I’m also assuming GraphView won’t be replaced or released for public use. Is that the case? Finally, please keep in mind I’m not criticizing—I’m evaluating. I totally respect avoiding scope creep if that’s what’s going on, since I’m assuming Unity has bigger fish to fry. I’m just looking at UI Toolkit for incorporation in a game making extensive use of graph layouts, in which children of graph nodes would still benefit from flexbox. Further, all my other UI would also benefit from flexbox as well. I’ve built frontends with flexbox for years and love it. But if I learn that I should not build graph layouts specifically with UI Toolkit, I could move on to evaluate alternatives such as UIForia instead.
Thanks in advance for your time.