# @univerjs/engine-render

> Language fallback: requested `ko-KR`; content is `en-US`.

- Human documentation: [https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs/engine-render](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs/engine-render)

- Agent Markdown: [https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs/engine-render.md](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs/engine-render.md)

- Requested language: `ko-KR`

- Content language: `en-US`

- Documentation version: `1.0.4`

- Source: [packages/plugins/univerjs/engine-render.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/packages/plugins/univerjs/engine-render.mdx)

---

Canvas rendering engine for Univer documents, sheets, and slides.

```typescript
// [!code word:UniverRenderEnginePlugin]
import { UniverRenderEnginePlugin } from '@univerjs/engine-render'

univer.registerPlugin(UniverRenderEnginePlugin)
```

The root entry exports `DOCS_EXTENSION_TYPE` for document render-extension integrations.

## Instance-scoped document layout

`registerDocumentLayoutPresentation(model, presentation)` attaches a transient layout projection to one `DocumentDataModel` instance and returns a disposable. `getDocumentLayoutPresentation(model)` reads that registration. Dispose it when the host releases the model.

`IDocumentLayoutPresentation` provides synchronous `getSnapshot(document)`, `captureState()`, `applyActions(actions, document)`, and `restoreState(state)` hooks. The host owns the projected `IDocumentLayoutSnapshot` and any extra layout state; capture/restore integrates that state with local undo/redo.

Use this boundary for host-specific glyphs, text advances, outlines, or layout metrics. These properties belong to the render projection and must not be persisted in `IDocumentData`, exported as document content, or shared between model instances. The root exports the `IDocumentLayout*` types and `registerDocCustomGlyphRenderer` for these integrations.

## IUniverEngineRenderConfig

```ts
export interface IUniverEngineRenderConfig {}
```
