A javaFX GUI application written in Kotlin that allows users to visualize and interact with directed graphs
- Automatic diagram refresh: The diagram refreshes automatically when the user modifies the graph definition or toggles vertices.
- Responsiveness: The application remains responsive, with no UI freezes, even with large graphs.
- Core Logic Tests: Tests are implemented to validate the core logic.
Core Features
- Editable Graph Input: users can modify the graph at any time.
A -> Bmeans there is a directed edge from A to B - Diagram Display: Graph is rendered in an interactive graph display area. It is possible to navigate/zoom-in or zoom-out.
- Vertex list:
- Vertex list displaying all vertices in the graph.
- The list is automatically updated when editing the graph input area.
- It gives the ability to enable or disable specific vertices. If a vertex is disabled, it no longer appears in the diagram, but it doesn't get deleted from the Graph Input area.
Additional Features:
- Edge labels: Edges can be labeled which is useful for indicating edge-weights or other data.
- File support: Load and save graphs in multiple formats, including text, JSON, and GraphML. It is also possible to save the graph as a JPG picture.
- Graph examples: Includes a few sample graphs to help users get started.
- Navigation: it is possible to navigate inside Diagram Display area. Users can zoom-in/zoom-out.
