mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-05-19 07:42:43 +00:00
103 lines
No EOL
3.2 KiB
Markdown
103 lines
No EOL
3.2 KiB
Markdown
# Memory Graph Changelog
|
|
|
|
## Development Setup
|
|
|
|
To test changes, run these commands in separate terminals:
|
|
|
|
**Terminal 1** - Install the required dependencies:
|
|
```bash
|
|
bun install
|
|
```
|
|
|
|
**Terminal 1** - Build memory-graph in watch mode:
|
|
```bash
|
|
cd packages/memory-graph && bun run dev
|
|
```
|
|
|
|
**Terminal 2** - Run the playground:
|
|
```bash
|
|
cd apps/memory-graph-playground && bun run dev
|
|
```
|
|
|
|
Then open http://localhost:3000 in your browser.
|
|
|
|
---
|
|
|
|
### Features
|
|
|
|
#### Slideshow Mode
|
|
Auto-cycling through nodes with smooth animations and physics simulation
|
|
- Random node selection every 3.5s (avoids consecutive duplicates)
|
|
- Smooth pan-to-node animation with automatic popover
|
|
- Brief physics pulse (1s) on each selection
|
|
- Background dimming animation
|
|
- Single-click to stop
|
|
|
|
#### Node Popover with Background Dimming
|
|
Floating popover with smart positioning and focus dimming effect
|
|
- Smooth 1.5s cubic ease-out dimming animation
|
|
- Non-selected nodes: 20% opacity, unconnected edges: 10% opacity
|
|
- Smart edge detection with 20px gap from node
|
|
- Auto-flips to avoid viewport edges
|
|
- Close via backdrop click, X button, or Escape key
|
|
- Shows: title, summary, type, memory count, URL, date, ID
|
|
|
|
#### Document Type Icons
|
|
Canvas-rendered icons centered on document cards
|
|
- Supported: TXT, PDF, MD, DOC/DOCX, RTF, CSV, JSON
|
|
- Scales with card size (40% of height)
|
|
- Only renders when zoomed in
|
|
|
|
#### Physics-Driven Layout
|
|
Simplified initial positioning, letting physics create natural layouts
|
|
- Simple grid with random offsets (no concentric rings)
|
|
- 50 quick pre-ticks + smooth animation
|
|
- Eliminates teleportation on node interaction
|
|
- Faster, non-blocking initial render
|
|
|
|
#### Updated Color Scheme
|
|
Refined palette for better contrast and readability
|
|
|
|
### Bug Fixes
|
|
|
|
#### Edge Viewport Culling
|
|
Fixed edges disappearing during zoom/pan
|
|
- Now checks both X and Y axis bounds
|
|
- Only culls when BOTH endpoints off-screen in same direction
|
|
- 100px margin on all sides
|
|
|
|
#### Memory Nodes Follow Parents
|
|
Memory nodes now move with parent documents when dragged
|
|
- Store relative offset instead of absolute position
|
|
- Automatically repositions based on parent location
|
|
|
|
### Performance
|
|
|
|
#### k-NN Similarity Algorithm
|
|
Reduced from O(n²) to O(n·k)
|
|
- 3x faster: ~50ms → ~17ms for 100 docs
|
|
- 4,950 → 1,500 comparisons for 100 docs
|
|
- Separated into own memo (doesn't recalculate on UI interactions)
|
|
|
|
#### Memory Leak Fix
|
|
NodeCache now cleans up deleted nodes properly
|
|
|
|
#### Race Condition Fix
|
|
Atomic node/edge updates eliminate NaN positions
|
|
|
|
#### Canvas Rendering Optimizations
|
|
Reduced per-frame overhead and improved rendering efficiency
|
|
- Spatial grid for hit detection
|
|
- Batched edge rendering by type (fewer canvas state changes)
|
|
- Canvas quality settings initialized once instead of every frame
|
|
- Optimized render key using fast hash instead of string concatenation
|
|
- Memoized nodeMap to avoid rebuilding every frame
|
|
|
|
#### Node Limiting & Memory Management
|
|
Smart memory limiting prevents performance issues with large datasets
|
|
- `maxNodes` prop limits total memory nodes (default: 500 in playground)
|
|
- Dynamic per-document cap distributes budget across documents
|
|
- Prioritizes recent memories and high-relevance scores
|
|
- k-NN similarity limit reduced from 15 to 10 connections per document
|
|
|
|
--- |