Views and rendering
Understand content versus display and choose from four views: DOM, HTML, Canvas and SVG.
Different views can display the same document. Core manages content and commands; View displays it and translates typing, clicking and selection into document operations.
Where to start
| View | Starting point | Integration |
|---|---|---|
| Native DOM | Editable text using browser input and DOM NodeViews | DomViewExtension, mode: 'dom' |
| Canvas | Drawn text, selections and paginated workspaces | canvasViewExtension(), mode: 'canvas' |
| SVG | Vector display from shared layout results | svgViewExtension(), mode: 'svg' |
| Retained HTML | Continuous layout with QuireKit input and selection | htmlViewExtension(), mode: 'html' |
Native DOM comes from @quirekit/dom-view, retained HTML from @quirekit/view-html, and Canvas and SVG from @quirekit/view. Native DOM and retained HTML have different input and geometry behavior.
Start with DOM in quick start, build a Canvas/SVG workspace with the View tutorial, or embed Classic for an existing ruler and ribbon.
Switching views does not convert the model
Register needed views at creation, then use changeMode() for the primary view. Core keeps content, selection and history. Canvas does not turn articles into Word documents; Word extensions still supply structure and layout rules.
Custom content needs a display implementation
Existing capabilities support paragraphs and common formats. Custom nodes need rendering for their selected view; renderHTML() alone does not explain child layout to Canvas.
See the note-group tutorial. View licensing differs from Core; see support.