> For the complete documentation index, see [llms.txt](https://wong-coupon.gitbook.io/flutter/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wong-coupon.gitbook.io/flutter/my-reactjs/editors-canvas.md).

# Editors & Canvas

Markdown, TipTap, canonical sources, Canvas compilers, print layouts, and editing history.

Markdown, TipTap, canonical sources, Canvas compilers, print layouts, and editing history.

## Articles

* [Canonical Markdown with TipTap](/flutter/my-reactjs/editors-canvas/canonical-markdown-tiptap.md) — Keep the content owner outside the editor, prevent feedback, and check conversion compatibility before rich editing.
* [Synchronizing Editor Modes](/flutter/my-reactjs/editors-canvas/synchronizing-editor-modes.md) — Keep one draft, check intent/session/readiness and distinguish current Preview from saved View.
* [Markdown–TipTap Round Trips](/flutter/my-reactjs/editors-canvas/markdown-tiptap-semantic-roundtrip.md) — Check independent semantic expectations, schemas and selection-map limits with a corpus that includes negative cases.
* [One TipTap Tree and History](/flutter/my-reactjs/editors-canvas/single-tiptap-tree-history.md) — Keep NodeView content under one owner, separate history events, and reset on accepted sessions.
* [A4 as a Derived Print View](/flutter/my-reactjs/editors-canvas/derived-a4-print-view.md) — Build a separate print view from a render lease, own assets and lifecycle, and verify PDFs without writing page artifacts into the editor.
* [Canonical Source and Fabric Snapshots](/flutter/my-reactjs/editors-canvas/canonical-source-fabric-snapshot.md) — Separate source authority, private caches, and recovery drafts when restoring a Fabric editor.
* [Bidirectional Compilers for Canvas](/flutter/my-reactjs/editors-canvas/bidirectional-canvas-compiler.md) — Define a capability profile, check semantic round trips, and reject lossy edits before a local commit.
* [Composite Sources with Stable IDs](/flutter/my-reactjs/editors-canvas/composite-source-stable-object-id.md) — Join design and content by ID, preserve ownership, and distinguish paired revisions from server save receipts.
* [Editor Commands and History](/flutter/my-reactjs/editors-canvas/editor-commands-history.md) — Group logical edits into transactions, keeping Undo/Redo and generation separate from asynchronous renderer projection.

[Buy Me a Coffee](https://buymeacoffee.com/ducmng12g) | [Support Me on Ko-fi](https://ko-fi.com/I2I81AEJG8)
