Cytoscape.js-based interactive graph over the memory system's
derived edges (similarity/session/manual), following the repo's
no-bundler vendoring and lazy-modal conventions.
- static/js/memoryGraph.js: modal shell, lazy Cytoscape load, fetch +
client-side filter/search, node/edge styling with dark/light theme
support via CSS custom properties, node selection + neighborhood
highlighting, link-mode manual relationship editing, detail panel
(pin/edit/delete/link management), demo-data fallback.
- static/lib/cytoscape.min.js: vendored 3.34.0 (MIT) via npm pack.
- static/index.html, static/app.js, static/js/init.js: "Memory Graph"
nav item (mirrors the Calendar entry), privilege gating
(can_manage_memory), Customize-UI visibility entry, /memory-graph
deep link.
- static/style.css: .memory-graph-* block, appended only.
Visually verified end-to-end against a real seeded dataset (render,
node click + neighborhood highlight, detail panel, inline edit,
search, category filters, similarity slider, link-mode create,
theme switch) — fixed two bugs found in that pass along the way:
the detail panel's `hidden` class was never removed on selection,
and search left stale selection-highlight opacity masking matches.