🗺️ Roadmap
Our future plans focus on enhancing the library's capabilities for building modern, accessible, and high-performance AI chat interfaces.
✨ Accomplished
🏗️ Core & Engine
- BlockTransformer: Cross-framework architecture for consistent typewriter effects.
- Syntax Refinement: Enhanced boundary parsing, commonmark compliance, and edge-case rendering.
- Incremental Engine: State-aware parsing for $O(N)$ performance.
- Dual-Engine Architecture: Support for both
marked(fast, streaming-optimized) andmicromark(stable, CommonMark-compliant) engines with tree-shaking optimization. - Micromark Enhancement: Improved HTML parsing and stability.
- Marked Enhancement: Extended
markedwith footnotes, math, custom containers, and inline HTML parsing support.
🎨 Design System & Theme
- @incremark/theme: Unified styles with DesignToken support in a separate package.
- ThemeProvider: Context-based styling for all components.
- Thematic Components: Built-in support for specialized markdown blocks.
🍱 Framework Components
- @incremark/vue: Full-featured Vue component library.
- @incremark/react: Full-featured React component library.
- @incremark/svelte: Full-featured Svelte component library.
- @incremark/solid: Full-featured Solid component library.
- IncremarkContent: Declarative, easy-to-use entry component for all frameworks.
🔌 Features & Extensions
- GFM Support: Full support for GitHub Flavored Markdown.
- Mermaid Support: Integrated support for Mermaid diagrams within Markdown.
- Math Support: Robust support for LaTeX math formulas via KaTeX.
- Custom Rendering: Full support for custom markdown components.
- Custom Code Blocks: Flexible configuration for partial or full rendering takeover.
- Custom Containers: Support for
:::container syntax. - Footnotes: Full support for markdown footnotes.
- HTML Parsing: Robust handling of embedded HTML content.
🚀 Upcoming Features
🛠️ Markdown & Tooling
- Code Component Refactoring: Decouple Mermaid and Default renderers to allow for better composition and customization.
- DevTools Rewrite: Rebuilding DevTools using Svelte for better DX with i18n support (zh-CN/en-US), multi-parser monitoring, and framework-agnostic design.
- sliceAST Optimization: Simplified code structure, removed dead code; per-block processing ensures performance.
- Internationalization (i18n): Built-in multi-language support with ConfigProvider.
- Accessibility (A11y): Enhanced screen reader support and ARIA standards.
- SSR Support: Optimization for Server-Side Rendering (Nuxt/Next.js).
⚡ Performance Optimization
- Shiki Stream Optimization: Improve streaming code highlighting performance across all frameworks.
- Block Component Rendering: Optimize block-level component rendering performance, reduce unnecessary re-renders.
🏗️ Big Vision: Incremental Chat UI Kit
A comprehensive set of pre-built UI components powered by the Incremark engine.
- @incremark/chat-core: Logic layer for message management, A2UI protocol, and mainstream LLM SDK adaptation.
- @incremark/chat-vue: High-level chat components for Vue.
- UI Adapters: First-class support for
element-plusandshadcn-vue.
- UI Adapters: First-class support for
- @incremark/chat-react: High-level chat components for React.
- @incremark/chat-svelte: High-level chat components for Svelte.
🔌 Plugin System
- Micromark Extensions: Full support for
micromarksyntax extensions. - mdast Extensions: Full support for
mdast-util-from-markdownAST extensions. - Marked Extensions: Custom token transformers for the
markedengine.
🔮 Long-term Research
- Collaborative Editing: Researching solutions including: 1. Tiptap markdown parsing based on
micromark, 2. Incremental appending scheme based onincremark.