ArMem Viewer: Create association graph showing links between memory snapshots

  • In the Viewer, you can select an entity instance. Right click, select "Create association/link graph"
  • In a thread, the viewer creates the graph and sends it to the GraphTopic, which can be viewed in the SemanticRelationViewer in VisionX
  • Graph creation:
    • The selected instance is the root node
    • The selected instance's data is scanned for Memory IDs.
    • Each found Memory ID is resolved, and if successful, added as a child to the root node. The edge label contains the ARON path of the Memory ID element
    • This is repeated for each linked instance, until no Memory IDs are found anymore
    • We can specify a maximum depth.
    • We also need to detect loops (when we already encountered a Memory ID => have a node for it)
  • Would be nice to integrate the graph viewer and memory viewer, but this can be done afterwards