The concept
Hello! My team and I are in the process of developing a dynamic graphical interface for interactive graph editing that will be open-source.
This interface is intended to manage a large number of interconnected nodes, giving users the ability to manipulate them, reestablish connections, zoom in/out, and more. Each node should support text, buttons, sliders, and other controls. Additionally, we aim to create a sophisticated, customizable graphical interface where each panel functions as a plugin - akin to a web-based eclipse. For instance, a panel could serve as a graph editor, a timeline, or a 3D viewport.
The inquiry
I am seeking advice on which library would offer the most advantages for our project - Pixi.js
, ThreeJS
, or perhaps another option? Should we consider a combination - utilizing Pixi.js
for the interface and ThreeJS
for plugins requiring 3D support (although I have reservations about this due to potential inconsistency)?
Criteria
We desire full functionality in WebGL. This decision stems from our goal of ensuring smooth operation of the graph editor, as well as maintaining uniformity across all parts of the GUI. Therefore, employing a single technology is logical.
We are searching for a library that provides optimal performance and flexibility for such a substantial undertaking, particularly taking into account:
- Creation of custom HUD elements (sliders, buttons, graphs, etc)
- Capability to handle a significant volume of elements - with emphasis on efficient caching/redrawing of only necessary portions
- Provision of a canvas fallback, while not being indispensable