# 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](/en/guide/quick-start), build a Canvas/SVG workspace with the [View tutorial](/en/build/view), or embed [Classic](/en/classic/quick-start) 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](/en/build/extension). View licensing differs from Core; see [support](/en/support).
