Commit graph

2 commits

Author SHA1 Message Date
yakamoz221
08b24b8499 feat(memory-graph): Milestone 3 polish — legend, isolate, keyboard nav
- Collapsible legend: click "Legend" to expand/collapse (caret rotates,
  pointer-events re-enabled now that the legend has something clickable).
- "Isolate connected component" detail-panel action: a pure
  _componentNodeIds() BFS (undirected, no DOM dependency) feeds into
  _applyFilters() alongside the existing category filter, with a toggle
  button and a banner reporting how many memories are shown. Clears on
  background click and on every graph reload.
- Keyboard shortcuts: `f` focuses the search box; arrow keys cycle
  selection through the currently visible (filter-respecting) nodes and
  re-center the camera. Both guarded against firing while typing or
  while the modal is minimized.
- MODULE_SUMMARY.md: documented the memoryGraph.js module.
2026-07-31 00:49:59 +03:00
yakamoz221
3681be1834 feat(memory): add Memory Graph View frontend (Milestone 2)
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.
2026-07-31 00:49:59 +03:00