control
a împins spre master la enesis/editor
b80121dc71 chore: address code review items across history, caching, and event handling
- Add coalesce() to OperationHistory; use it in Editor.vue instead of
peek() + type-cast mutation (inverse recomputed, future stack cleared)
- Replace content-generation counter + nextTick with lastSerialized
string comparison (no race window for external vs internal updates)
- Add missing reactive import to Editor.vue
- Extract applyCalloutGroupDecorations and applyTableDecorations from
buildDecorationsFromCache / applyBlockDecorations
- Memoize renderCellContent Lezer parses with 50-entry FIFO cache
- Narrow CodeBlockView.stopEvent to pass through clipboard, composition,
and paste events to ProseMirror
- Scope zoneRefs.clear() to structural mutation handlers only (not
per-keystroke onBlockContentChange)
- Add metadata field to local ParsedToken interface (TS fix)
- Document extractEmbeddedId code-fence false-positive risk
- Add "Why Not TipTap" rationale to README
ac8ba1d93e feat: Tauri desktop app shell and editor cleanup
- Add Tauri v2 app with Nuxt + sidebar layout (apps/tauri/)
- Strip GFM continuation indent in splitMarkdownIntoBlocks
- Skip blank lines in contentToDoc (no empty <p>), join with \n\n
- Keep task markers visible in live-preview (blurred state)
- Add node-level decoration classes for tasks, properties, callouts
- Normalize paragraph margins (mb-4 on last child, 0 between siblings)
- Import KaTeX CSS to hide MathML fallback span
- Measure first paragraph height for dynamic bullet gutter alignment
- Fix \ backslash escaping in Welcome.md (\LaTeX, unescaped backticks)
- Remove vite.config.ts duplicate alias
9b3d670b5b ci: narrow deploy trigger to editor/dev paths and add manual dispatch
- Add paths filter so deploy only runs on changes to packages/editor or apps/dev
- Add workflow_dispatch for manual deployment
- Update deploy step condition to support both push and manual trigger
- Switch runner from codeberg-small to codeberg-medium
4a0e3148e0 feat(docs): rebrand dev app with Geist font, isometric blocks logo, and favicons
- Add Geist variable font via @fontsource-variable/geist
- Replace text-based logo with isometric stacked blocks + Enesis Editor wordmark
- Generate favicon.ico, apple-touch-icon, and PWA icons from block SVG
- Remove unused geist and @nuxt/fonts dependencies
- Update README header with logo and brand tagline
c1260ed94d feat(editor): add image rendering, file drop/paste, and resolveAsset prop
- Add createImageRule() — parses  via Lezer Image nodes,
renders <img> widget when blurred, raw source when focused
- Add ImageDecoration type, exported through markdown-parser
- Add safeImageSrc() URL sanitizer with 9 tests
- Add handleDrop and handlePaste (clipboard images) in EditorBlock
- Add resolveAsset prop and asset-dropped emit on Editor + EditorBlock
- Non-image files drop as [filename](url), images as 
- Fix unresolved refs — dispatch resolvedRefs on mount (not just on change)
- Add image styles (md-image-hidden, md-image-wrapper, md-image-rendered)
- Update dev app pages to demo images, resolvedRefs, and reference events
22 ore în urmă