Cache Algorithm Results per Node (High Value, Low Risk)
File/Line: TableComponent.svelte:75-95
Description: The promiseSortedResults reactive statement recomputes algorithm results every time the active file changes (unless frozen). Add a simple Map-based cache in the plugin class to store results keyed by (currSubtype, currNode), invalidating on graph refresh.
Why: For large vaults, switching between notes triggers expensive recomputations (e.g., co-citations parsing file content). Caching avoids redundant work, improving UI responsiveness during file navigation. Low risk as it's additive and doesn't change logic.