Improve memory graph#973
Conversation
|
Claude finished @ishaanxgupta's task in 1m 58s —— View job Reviewing PR and Screenshots
AnalysisThe screenshots show the memory graph rendered with a spiral/starburst layout at full zoom-out view. The visualization displays thousands of nodes with:
Review StatusI verified the code against @vorflux's feedback from the earlier review:
TestsAll 172 tests pass in the memory-graph package. SummaryAll issues from the previous review have been addressed. The code follows correct React patterns, has good performance characteristics with spatial hashing, and handles edge cases gracefully. The PR looks ready to merge. |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
supermemory-mcp | 859298d | May 30 2026, 11:55 AM |
There was a problem hiding this comment.
Overview: This PR improves memory graph readability with container tag filtering, cluster-colored nodes, dynamic zoom bounds, and level-of-detail edge rendering for dense graphs.
Issues found: None — this looks good to ship.
The code is well-structured with solid test coverage. Key observations:
-
Container tags proxy (
/api/container-tags/route.ts): Clean API proxy pattern appropriate for a playground app. Error handling is thorough. -
Simulation changes (
simulation.ts): The newstop()method and dynamicgetDocMemoryDistance()based on memory count are correctly implemented. The append-only pagination logic inmemory-graph.tsxproperly preserves existing node positions. -
Cluster assignments (
use-graph-data.ts): The BFS-based clustering algorithm correctly merges cross-document relation clusters and assigns consistent colors via deterministic hashing. -
Level-of-detail rendering (
renderer.ts): Smart edge sampling at low zoom levels usinggetRelationEdgeStride()andshouldDrawRelationEdge(). Structural "derives" edges are always drawn, while relation edges are deterministically sampled to reduce visual noise. -
Version chain inference (
version-chain.ts): Good fix for backends that repeat v1 across update chains — the code now infers display versions from chain order when needed. -
Dynamic zoom bounds (
viewport.ts):setMinZoomForNodes()properly allows zooming out further for large graphs while clamping to reasonable limits.
Score: 10/10
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
supermemory-app | 859298d | Commit Preview URL Branch Preview URL |
May 30 2026, 11:56 AM |
# Conflicts: # packages/memory-graph/src/components/memory-graph.tsx
…ayground-clusters # Conflicts: # packages/memory-graph/src/components/legend.tsx # packages/memory-graph/src/components/memory-graph.tsx
|
Added low-zoom rendering optimization:
|


Summary
/v3/container-tags/listmemoryEntries,type, relation fields)Verification
bun --filter @supermemory/memory-graph testbun run buildinpackages/memory-graphbun run buildinapps/memory-graph-playgroundgit diff --cached --check