In unserer Schleifsoftware Multigrind Horizon entstehen komplexe Abhängigkeiten zwischen Datenobjekten/Modulen/Assets/Berechnungsschritten. Diese Beziehungen sind heute nur indirekt sichtbar, was Fehlersuche und Änderungen aufwendig macht. Node-basierte Editoren wie Unreal Engine Blueprints, Blender Geometry Nodes oder Houdini zeigen, wie wirkungsvoll eine grafische Darstellung solcher Strukturen sein kann.
Aufgabenstellung
Ziel der Arbeit ist Konzeption, Implementierung und Evaluation einer Graph-Ansicht, die die Abhängigkeiten unserer Anwendung navigierbar macht. Der Fokus liegt auf Visualisierung und Interaktion – nicht auf einem vollwertigen Editor.
Kernthemen:
Architektur: Bewertung und Auswahl des Rendering-Ansatzes (Qt Graphics View Framework, Qt Quick / Scene Graph, eigenes OpenGL-Backend) inkl. Begründung anhand messbarer Kriterien
Datenanbindung: Entkoppelte Model-View-Schicht zwischen bestehendem Datenmodell und Darstellung
Layout: Vergleich und Umsetzung automatischer Layout-Verfahren (hierarchisch/Sugiyama, kräftebasiert, ggf. Anbindung von Graphviz oder ELK), Behandlung von Zyklen
Interaktion: Pan/Zoom, Selektion, Fokus auf Teilgraphen, Ein-/Ausklappen von Gruppen, Suche und Filter, Hervorhebung von Pfaden und betroffenen Knoten
Skalierbarkeit: Performantes Verhalten bei [z. B. 10.000+] Knoten durch Culling, Level-of-Detail und geeignete Datenstrukturen
Evaluation: Benchmarks (Frame-Zeiten, Layout-Dauer) sowie eine kleine Usability-Studie mit Anwendern aus dem Team
Dein Profil
- Studium der Informatik, Medieninformatik, Mathematik oder vergleichbar (Masterniveau)
- Sehr gute C++-Kenntnisse (C++17/20), Erfahrung mit Qt
- Grundlagen in Graphentheorie und Algorithmik; Interesse an UI/UX und Rendering
- Selbstständiges Arbeiten, Git, CMake
Wir bieten Dir
- Kollegiale Arbeitsatmosphäre in einem jungen Team
- Spannende und herausfordernde Aufgaben mit Eigenverantwortung
- Übernahmemöglichkeit nach Beendigung des Studiums
- Individuelle Arbeitszeiten angepasst an deine Bedürfnisse