feat: editor improvements and architectural grid prototype

Multiple feature additions and improvements across the application:

- NextGen Editor: drag handles, smart paste, block actions
- Structured views: Kanban and table layouts for notes
- Architectural Grid: new brainstorming/agent interface prototype
- Flashcards: SM-2 revision algorithm with AI generation
- MCP server: robustness improvements
- Graph/PDF chat: fix click propagation and copy behavior
- Various UI/UX enhancements and bug fixes

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Antigravity
2026-05-27 19:45:15 +00:00
parent 2de66a863d
commit f46654f574
99 changed files with 29948 additions and 919 deletions

View File

@@ -0,0 +1,19 @@
import type { EditorState } from '@tiptap/pm/state'
import type { Node as PMNode } from '@tiptap/pm/model'
function isEmptyParagraph(node: PMNode): boolean {
if (node.type.name !== 'paragraph') return false
return node.textContent.trim() === '' && node.content.size <= 1
}
/** Paragraphe vide sous le curseur (critère US-3 Smart Paste). */
export function getEmptyParagraphAtSelection(
state: EditorState,
): { pos: number; node: PMNode } | null {
const { $from, empty } = state.selection
if (!empty) return null
if (!isEmptyParagraph($from.parent)) return null
const pos = $from.before($from.depth)
return { pos, node: $from.parent }
}