In our grinding software, Multigrind Horizon, complex dependencies arise between data objects, modules, assets, and calculation steps. Currently, these relationships are only indirectly visible, which makes troubleshooting and making changes time-consuming. Node-based editors such as Unreal Engine Blueprints, Blender Geometry Nodes, or Houdini demonstrate how effective a graphical representation of such structures can be.
Project Objective
The goal of this project is to design, implement, and evaluate a graph view that makes the dependencies in our application navigable. The focus is on visualization and interaction—not on a full-fledged editor.
Core Topics:
Architecture: Evaluation and selection of the rendering approach (Qt Graphics View Framework, Qt Quick / Scene Graph, custom OpenGL backend), including justification based on measurable criteria
Data Integration: Decoupled model-view layer between the existing data model and the visualization
Layout: Comparison and implementation of automatic layout algorithms (hierarchical/Sugiyama, force-based, integration of Graphviz or ELK if applicable), handling of cycles
Interaction: Pan/zoom, selection, focus on subgraphs, expanding/collapsing groups, search and filter, highlighting of paths and affected nodes
Scalability: High-performance behavior with [e.g., 10,000+] nodes through culling, level of detail, and appropriate data structures
Evaluation: Benchmarks (frame times, layout duration) and a small usability study with users from the team
Your Profile
- Degree in computer science, media informatics, mathematics, or a comparable field (master’s level)
- Very strong C++ skills (C++17/20), experience with Qt
- Foundations in graph theory and algorithms; interest in UI/UX and rendering
- Ability to work independently, Git, CMake
We offer you
- A collaborative work environment in a young team
- Exciting and challenging tasks with a high degree of autonomy
- Opportunity for a permanent position upon completion of your studies
- Flexible work hours tailored to your needs