linXiv frontend (TS/JS)
    Preparing search index...

    Interface GraphIndex

    Lookups the filter and the canvas share, built once per payload — id-space bookkeeping only; names, canonical tag spelling and degree ride on the payload.

    interface GraphIndex {
        authorById: Map<string, GraphAuthor>;
        neighboursByPaper: Map<string, string[]>;
        paperById: Map<string, GraphPaper>;
        papersByNode: Map<string, string[]>;
        projectById: Map<number, GraphProject>;
        tagById: Map<string, GraphTag>;
        typeById: Map<string, GraphNodeType>;
    }
    Index
    authorById: Map<string, GraphAuthor>
    neighboursByPaper: Map<string, string[]>

    Paper node id -> the author/tag node ids it is joined to.

    paperById: Map<string, GraphPaper>
    papersByNode: Map<string, string[]>

    Author or tag node id -> the paper node ids joined to it.

    projectById: Map<number, GraphProject>
    tagById: Map<string, GraphTag>
    typeById: Map<string, GraphNodeType>

    Node id -> its type, for edge endpoints and style passes.