feat(insights): fix DBSCAN, Persian embeddings crash, D3 physics layouts, and D3 node not found runtime error
Some checks failed
CI / Lint, Test & Build (push) Failing after 1m7s
CI / Deploy production (on server) (push) Has been skipped

This commit is contained in:
Antigravity
2026-05-24 18:57:33 +00:00
parent e2672cd2c2
commit e881004c77
63 changed files with 5729 additions and 563 deletions

View File

@@ -85,7 +85,8 @@
"richtext": "Rich Text",
"markdown": "Markdown",
"text": "Plain text",
"checklist": "Checklist"
"checklist": "Checklist",
"clip": "Web clip"
},
"listItem": "List item",
"addListItem": "+ List item",
@@ -861,9 +862,47 @@
"brainstormInvite": "Brainstorm",
"brainstormJoined": "Brainstorm",
"systemNotification": "System",
"clipSaved": "Web clip saved",
"downloadFailed": "Download failed",
"brainstormShared": "Brainstorm shared"
},
"clipper": {
"webClipper": "Web Clipper",
"connected": "Connected",
"destinationNotebook": "Destination notebook",
"selectNotebook": "Select a notebook",
"activePage": "Active page",
"selectionDetected": "Selection detected",
"ignore": "ignore",
"selectionHint": "Tip: highlight text on the page to clip a precise selection as a note.",
"clipSelection": "Clip selection",
"clipPage": "Clip this page",
"analyzingSource": "Analyzing source",
"processing": "Processing…",
"processingDetail": "Generating tags, semantic summary and embeddings.",
"successBadge": "Success",
"sentToNotebook": "Note saved to notebook",
"viewInMomento": "View in Momento",
"clipAnother": "Clip another page",
"captureFailed": "Capture failed",
"genericError": "Something went wrong while sending to your instance.",
"retry": "Retry",
"footer": "Momento Companion v2.1.2 · Secured HTTPS TLS 1.3",
"quitSimulator": "Close simulator",
"simulatorBadge": "Capture simulator",
"extensionActive": "Extension active on this page",
"publishedOn": "Published on {domain}",
"realtimeCapture": "Date: live capture",
"selectTextHint": "Select text below to clip",
"evalTipTitle": "Try it:",
"evalTipBody": "Highlight any text in the article below to activate the Selection state in the extension. You can also click a paragraph to simulate it.",
"clickParagraph": "Click to select this paragraph",
"selectionSaved": "Selection saved ({count} words)",
"clearSelection": "Clear selection",
"toastTitle": "Clipped note —",
"view": "View",
"simulatedClipper": "Clipper simulator"
},
"nav": {
"home": "Home",
"notes": "Notes",
@@ -880,6 +919,9 @@
"trash": "Trash",
"support": "Support Memento ☕",
"reminders": "Reminders",
"graphView": "Link map",
"insights": "Semantic themes",
"revision": "Review",
"userManagement": "User Management",
"accountSettings": "Account Settings",
"manageAISettings": "Manage AI Settings",
@@ -1745,6 +1787,8 @@
"imagesLabel": "Images",
"notebookLabel": "Notebook",
"typeLabel": "Type",
"sourceWebLabel": "Web source",
"openSource": "Open original page",
"createdLabel": "Created",
"modifiedLabel": "Updated",
"labelsSection": "Labels",
@@ -2847,11 +2891,23 @@
"title": "Graph View",
"notesCount": "{count} notes",
"connectionsCount": "{count} connections",
"visibleConnections": "{count} visible",
"globalView": "Fit to View",
"searchPlaceholder": "Filter...",
"noNotesFound": "No notes found",
"notebooks": "Notebooks",
"resetFilter": "Reset",
"resetFocus": "Full graph",
"exploreFromNode": "Explore from this note",
"linkFilters": "Link filters",
"semanticThreshold": "Semantic threshold",
"edgeTypes": {
"explicitLink": "Note links (manual)",
"semanticEcho": "Memory Echo (AI)",
"titleMention": "Title mention",
"sharedLabel": "Shared tags",
"jaccard": "Keyword similarity"
},
"relationshipTypes": "Relationship Types",
"connections": "{count} connection",
"connectionsPlural": "{count} connections",
@@ -2866,6 +2922,82 @@
"updated": "Updated on"
}
},
"insightsView": {
"title": "Semantic Insights",
"subtitle": "Discover the hidden architecture of your knowledge",
"resync": "Re-sync network",
"mapping": "Mapping…",
"loading": "Loading your notes…",
"mappingTitle": "Mapping your knowledge…",
"mappingHint": "This can take one to three minutes. You can keep browsing; the page will update when it's done.",
"analyzeNow": "Start semantic analysis",
"emptyNeedMoreNotes": "Add {count} more notes to unlock semantic clustering (minimum 10).",
"embeddingsHint": "Only {indexed} of {total} notes are indexed for AI. Analysis will prepare them first (this may take several minutes).",
"vsGraphHint": "This is not the same as “Link map” (network icon in the sidebar): here, AI groups your notes by theme.",
"openGraphMap": "Open link map",
"analysisFailed": "Analysis failed. Check your AI settings or try again.",
"analysisSuccess": "Analysis complete: {count} themes detected.",
"analysisNoClusters": "No themes detected yet.",
"staleResults": "Showing results from the last analysis. Many notes changed since then — click “Resynchronize network” to refresh.",
"semanticGraphLegend": "Detected themes overview (not the link map)",
"fitGraphView": "Fit view",
"graphPreviewHint": "Theme overview: the number is how many notes belong here. Hover a dot for the title, click to open. Full list on the right.",
"graphMoreNotes": "+{count} more in this theme",
"graphNotesLabel": "notes",
"clusterFallback": "Theme {index}",
"unclusteredNotes": "{count} notes not assigned to a theme (hidden from graph).",
"emptyTitle": "Discover your knowledge clusters",
"emptyDescription": "Click \"Re-sync network\" to analyze your notes and find hidden connections",
"stats": {
"clusters": "Clusters",
"bridgeNotes": "Bridge notes"
},
"clusters": {
"title": "Semantic clusters",
"notesCount": "{count} notes",
"centralNotes": "Central notes",
"emptyCluster": "No notes in this cluster"
},
"bridgeNotes": {
"title": "Powerful bridge notes",
"score": "Score: {score}%",
"empty": "No significant bridge notes yet. Deepen your research to find new connections."
},
"suggestions": {
"title": "Missing links (AI generated)",
"bridging": "Bridging {clusterA} & {clusterB}",
"emptyTitle": "No connection suggestions yet",
"emptyDescription": "All your clusters may already be connected!",
"createNote": "Create bridge note"
},
"unknownNote": "Untitled note",
"viewSplit": "Split",
"viewGraph": "Graph",
"viewDashboard": "Dashboard",
"isolatedClusters": {
"title": "Isolated clusters ({count})",
"badge": "Not connected",
"empty": "All your semantic clusters are interconnected!"
},
"focusCluster": {
"title": "Cluster Focus Active",
"description": "This thematic cluster gathers {count} complementary notes. Click on a note to access it directly:",
"close": "Close"
},
"badgeDominant": "Dominant",
"bridgeCount": "bridge(s)",
"echoTitle": "You keep returning to this idea",
"tipClusters": "AI grouped your notes by semantic affinity — regardless of which notebook they're in. Each theme represents a subject your mind keeps returning to.",
"tipClustersAction": "Click a theme to see its notes. Click a note to open it.",
"tipBridgeNotes": "These notes speak to two different themes at once. They reveal where your thinking crosses boundaries — often where the most original ideas hide.",
"tipBridgeNotesAction": "Click a note to open it and understand the connection.",
"tipEcho": "Memory Echo detects two notes written at very different times that cover the same idea. Your mind revisited a thought without realising it.",
"tipEchoAction": "Two notes, same idea, different moments. Click to explore.",
"tipSuggestions": "These themes have no note linking them yet. AI proposes a starting idea. Click 'Create bridge note' to write it and open it in the editor.",
"tipSuggestionsAction": "Click 'Create bridge note' to write the note and open it immediately.",
"tipIsolated": "These themes are isolated: no note connects them to the others. Maybe you're exploring a fragile idea? One synthesis note would be enough to create the link.",
"tipIsolatedAction": "These themes have no note connecting them to the rest of your thinking."
},
"consent": {
"banner": {
"title": "Cookie Preferences",