-
Maximilian Giller authoredMaximilian Giller authored
common-data-structures.md 3.65 KiB
Common Data Structures
Bennenung der Datentypen nicht notwendiger Weise final.
Frage: Gibt es einen eleganten Weg, die Datenstruktur Graph und den Force-Graph Renderer namentlich zu unterscheiden? Momentan gibt es GraphData und NodeData, was auf die reine Datenstruktur hinweist, und dann aber GraphNode was auf den Renderer deuten soll, aber eher verwirrt. Vorschläge:
- Renderer
- RendererNode
- Canvas
- CanvasNode
- UI
- UINode
- Force (Allerdings auch irgendwie irreführend, oder? Ergibt aber Sinn im Hinblick auf die Simulationsattribute vx, vy, ...)
- ForceNode
Reine Daten
Alle URLs sollen absolut als string angegeben werden.
GraphData
- Nodes: NodeData[]
- Links: LinkData[]
- Types: NodeTypes[]
NodeData
- Id: number
- Label: string
- Description: string
- Type: NodeType
-
Icon: string
- URL für Bild für Knoten im Graphen
-
Banner: string
- URL für Bild in der Detailansicht
-
Video: string
- URL für Video in Detailansicht
-
References: string[]
- Liste an weiterführenden URLs
- Werden im Backend dann nicht ordentlich gespeichert, sondern in einer Zelle, Komma-separiert o.ä.
- Folgende Attribue führen über die reine Datenstruktur hinaus, können aber beim laden entsprechend ergänzt werden
- Links: LinkData[]
- Neighbours: NodeData[]
- Es sei angemerkt, dass die idealerweise dynamisch über eine Verbindung zum Graphen und einem Getter erstellt werden sollten, damit man die nicht manuell aktuell halten muss. Inbesondere interessant für den Editor.