# UI and editor integration

Choose the independent reader or keep the editor product capabilities in MdProse.

## Choose an entry

| Use case | Entry |
| --- | --- |
| Parse Markdown only | Root `MarkdownStream` / `parseMarkdown` |
| Read in a Vue page or AI chat | `QuireMarkdown` from `@quirekit/incremark/vue` |
| Editor reading mode and product diagram nodes | `MdProse` from `@quirekit/md-editor/vue` |
| Style existing semantic HTML | `QuireProse` from `@quirekit/ui/vue` |

`QuireMarkdown` already includes Prose typography. The application owns source text, message identity and transport state.
`MdProse` reuses this reading implementation while retaining its product nodes and compatibility API; its props are not interchangeable with QuireMarkdown props.

## Migrate a streaming consumer

Append each delta to your application's `message.text` and pass the complete received text with a stable message.id as identity.
Set status to stopped when cancelling the network request; use a new identity for a retry or another message.
The component error event reports reading failures; transport failures remain application state.
Migrate component mappings individually and express plugins as source syntax plus reading contributions.

Third-party Incremark engine switches, source completion and remark plugins have no one-to-one mapping.
Before replacing a production entry, verify late definitions, error fallbacks, resource disposal and final content with identical streamed and static fixtures.
