A local-first note taking app

Complete live-preview rendering for core markdown node types master

Restructure the Automerge editor's single livePreview.ts into per-node CodeMirror extensions composed by livePreview(), mirroring the reams reference. Extends coverage from 4 node types to the core CommonMark + GFM set (no widgets): - headings: ported as-is - bold / italic / strikethrough: content classes + proximity-revealed markers, registered atomic so cursor motion skips hidden markers - inline code + fenced code blocks: content/line styling + fence hiding - links: fix the broken handler (hide all brackets/paren/URL, style the label) + cmd/ctrl-click to open externally via a new shell.openExternal IPC bridge - blockquotes, horizontal rules, lists: line decorations + prefix hiding Splits the single cm-formatting-hidden class into idiom-correct hide classes (per the CM6 cursor-skip contract) and activates the previously dead CSS. Adds headless builder tests (pure over EditorState) covering each node type. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>