mnemosyne-core 2.1.11 → 2.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -37,7 +37,7 @@
37
37
  /* Accents */
38
38
  --accent: #6366f1;
39
39
  --accent-light: #818cf8;
40
- --accent-glow: rgba(99, 102, 241, 0.25);
40
+ --accent-glow: rgba(99, 102, 241, 0.15);
41
41
  --accent-bg: rgba(99, 102, 241, 0.12);
42
42
 
43
43
  /* Bond type colors */
@@ -54,7 +54,7 @@
54
54
  --success: #34d399;
55
55
 
56
56
  /* Effects */
57
- --glass: blur(20px) saturate(180%);
57
+ --glass: blur(20px);
58
58
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.4);
59
59
  --shadow-md: 0 4px 16px rgba(0,0,0,0.5);
60
60
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.6);
@@ -85,10 +85,10 @@
85
85
  }
86
86
 
87
87
  /* Scrollbars */
88
- ::-webkit-scrollbar { width: 6px; height: 6px; }
89
- ::-webkit-scrollbar-track { background: transparent; }
90
- ::-webkit-scrollbar-thumb { background: rgba(99, 116, 155, 0.2); border-radius: 3px; }
91
- ::-webkit-scrollbar-thumb:hover { background: rgba(99, 116, 155, 0.3); }
88
+ ::-webkit-scrollbar { width: 8px; height: 8px; }
89
+ ::-webkit-scrollbar-track { background: rgba(99, 116, 155, 0.08); border-radius: 4px; }
90
+ ::-webkit-scrollbar-thumb { background: rgba(99, 116, 155, 0.45); border-radius: 4px; }
91
+ ::-webkit-scrollbar-thumb:hover { background: rgba(99, 116, 155, 0.65); }
92
92
 
93
93
  /* ═══════════════════════════════════════════════════════════ */
94
94
  /* PART 8: TOP BAR */
@@ -416,13 +416,13 @@
416
416
  .atom-group.selected .atom-circle {
417
417
  stroke: var(--accent);
418
418
  stroke-width: 2.5;
419
- filter: drop-shadow(0 0 25px var(--accent-glow));
419
+ filter: drop-shadow(0 0 16px var(--accent-glow));
420
420
  animation: pulse-selected 2s ease-in-out infinite;
421
421
  }
422
422
 
423
423
  @keyframes pulse-selected {
424
- 0%, 100% { filter: drop-shadow(0 0 12px var(--accent-glow)); }
425
- 50% { filter: drop-shadow(0 0 28px var(--accent-glow)); }
424
+ 0%, 100% { filter: drop-shadow(0 0 8px var(--accent-glow)); }
425
+ 50% { filter: drop-shadow(0 0 18px var(--accent-glow)); }
426
426
  }
427
427
 
428
428
  .atom-group.root .atom-circle {
@@ -1532,25 +1532,14 @@
1532
1532
  background: var(--bg-panel);
1533
1533
  backdrop-filter: var(--glass);
1534
1534
  border-left: 1px solid var(--border-subtle);
1535
- display: flex;
1536
- flex-direction: column;
1537
- overflow: hidden;
1535
+ overflow-y: auto;
1536
+ overflow-x: hidden;
1538
1537
  z-index: 100;
1539
1538
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1540
1539
  }
1541
1540
  #sidebar-content {
1542
- flex: 1;
1543
- overflow-y: auto;
1544
- overflow-x: hidden;
1545
- min-height: 0;
1546
- max-height: 100%;
1547
- scrollbar-width: thin;
1548
- scrollbar-color: rgba(99,116,155,0.35) transparent;
1549
- }
1550
- #sidebar-content::-webkit-scrollbar { width: 8px; }
1551
- #sidebar-content::-webkit-scrollbar-track { background: transparent; }
1552
- #sidebar-content::-webkit-scrollbar-thumb { background: rgba(99,116,155,0.35); border-radius: 4px; }
1553
- #sidebar-content::-webkit-scrollbar-thumb:hover { background: rgba(99,116,155,0.5); }
1541
+ padding-bottom: 24px;
1542
+ }
1554
1543
  #sidebar.collapsed {
1555
1544
  transform: translateX(100%);
1556
1545
  }
@@ -2856,7 +2845,7 @@
2856
2845
  .dropdown-menu {
2857
2846
  position: fixed;
2858
2847
  background: rgba(18, 22, 40, 0.98);
2859
- backdrop-filter: blur(24px) saturate(180%);
2848
+ backdrop-filter: blur(24px);
2860
2849
  border: 1px solid rgba(99, 116, 155, 0.25);
2861
2850
  border-radius: var(--radius-md);
2862
2851
  box-shadow: 0 20px 50px rgba(0,0,0,0.55), 0 0 0 1px rgba(99,102,241,0.06);
@@ -6000,7 +5989,7 @@ function select(d) {
6000
5989
  if (t === id && !visibleIds.has(s)) { visibleIds.add(s); queue.push(s); }
6001
5990
  });
6002
5991
  }
6003
- d3.selectAll(".atom-group").transition().duration(300).style("opacity", n => visibleIds.has(n.id) ? 1 : 0.35);
5992
+ d3.selectAll(".atom-group").transition().duration(300).style("opacity", n => visibleIds.has(n.id) ? 1 : 0.7);
6004
5993
  d3.selectAll(".link-tree, .link-bond").transition().duration(300).style("opacity", l => {
6005
5994
  const s = typeof l.source === "object" ? l.source.id : l.source;
6006
5995
  const t = typeof l.target === "object" ? l.target.id : l.target;
@@ -6014,7 +6003,7 @@ function select(d) {
6014
6003
  if (s === d.id) visibleIds.add(t);
6015
6004
  if (t === d.id) visibleIds.add(s);
6016
6005
  });
6017
- d3.selectAll(".atom-group").transition().duration(300).style("opacity", n => visibleIds.has(n.id) ? 1 : 0.5);
6006
+ d3.selectAll(".atom-group").transition().duration(300).style("opacity", n => visibleIds.has(n.id) ? 1 : 0.85);
6018
6007
  d3.selectAll(".link-tree, .link-bond").transition().duration(300).style("opacity", 1);
6019
6008
  }
6020
6009
  } else if (!currentSearchQuery) {
@@ -6921,7 +6910,7 @@ function setSidebarCollapsed(collapsed) {
6921
6910
  const backdrop = document.getElementById("sidebar-backdrop");
6922
6911
  sidebar.classList.toggle("collapsed", collapsed);
6923
6912
  sidebar.classList.toggle("open", !collapsed);
6924
- if (backdrop) backdrop.classList.toggle("active", !collapsed);
6913
+ if (backdrop) backdrop.classList.toggle("active", !collapsed && window.innerWidth <= 768);
6925
6914
  if (simulation) simulation.alpha(0.3).restart();
6926
6915
  }
6927
6916
 
@@ -8344,6 +8333,10 @@ function toggleProjectDropdown() {
8344
8333
  document.getElementById("sidebar-close").addEventListener("click", toggleSidebar);
8345
8334
  document.getElementById("mobile-menu-btn")?.addEventListener("click", toggleSidebar);
8346
8335
  document.getElementById("sidebar-backdrop")?.addEventListener("click", () => setSidebarCollapsed(true));
8336
+ // Prevent clicks inside sidebar from closing it (e.g. via backdrop or SVG handlers)
8337
+ ["click","mousedown","pointerdown"].forEach(evt => {
8338
+ document.getElementById("sidebar")?.addEventListener(evt, (e) => e.stopPropagation());
8339
+ });
8347
8340
 
8348
8341
  function fitGraphToView() {
8349
8342
  if (currentView !== 'graph') { activateView('graph'); return; }
package/dist/index.js CHANGED
@@ -201,7 +201,7 @@ function getVersion() {
201
201
  const pkg = JSON.parse(readFileSync6(resolve9(process.cwd(), "package.json"), "utf-8"));
202
202
  return pkg.version;
203
203
  } catch {
204
- return "2.1.11";
204
+ return "2.1.12";
205
205
  }
206
206
  }
207
207
  }
@@ -5391,7 +5391,7 @@ function getVersion2() {
5391
5391
  const pkg = JSON.parse(readFileSync6(resolve9(process.cwd(), "package.json"), "utf-8"));
5392
5392
  return pkg.version;
5393
5393
  } catch {
5394
- return "2.1.11";
5394
+ return "2.1.12";
5395
5395
  }
5396
5396
  }
5397
5397
  }
@@ -5978,7 +5978,7 @@ function getVersion3() {
5978
5978
  const pkg = JSON.parse(readFileSync6(resolve9(process.cwd(), "package.json"), "utf-8"));
5979
5979
  return pkg.version;
5980
5980
  } catch {
5981
- return "2.1.11";
5981
+ return "2.1.12";
5982
5982
  }
5983
5983
  }
5984
5984
  }
@@ -7144,7 +7144,7 @@ var PKG_VERSION = (() => {
7144
7144
  const pkg = JSON.parse(require("fs").readFileSync(require("path").resolve(__dirname, "../../package.json"), "utf-8"));
7145
7145
  return pkg.version;
7146
7146
  } catch {
7147
- return "2.1.11";
7147
+ return "2.1.12";
7148
7148
  }
7149
7149
  })();
7150
7150
  function handleHealth(store, pathname, method, res) {
@@ -7509,7 +7509,7 @@ var MnemosyneServer = class {
7509
7509
  const wss = new import_websocket_server.default({ server: this.httpServer });
7510
7510
  this.wsHandler = new WebSocketHandler(wss, this.store);
7511
7511
  }
7512
- const version = cfg?.server?.version || "2.1.11";
7512
+ const version = cfg?.server?.version || "2.1.12";
7513
7513
  this.httpServer.listen(port, () => {
7514
7514
  console.log(`Mnemosyne v${version} \u2014 port ${port}`);
7515
7515
  console.log(`Dashboard: http://${host}:${port}/dashboard`);