# Editor.Canvas > The interactive workspace. Hosts every Editor.Section, handles drag / resize / pan / zoom, and paints the page background. Source: https://docs.docmosaic.com/docs/primitives/canvas `Editor.Canvas` is where sections live. It's the interactive surface - pan, zoom, drag, resize, marquee-select, drop-image, render the page background. Children inside `` are rendered on top of the page (use `Editor.Section`, `Editor.CanvasControls`, etc.). ## Installation Already part of `@docmosaic/react` - no extra install. ## Usage ```tsx ``` ## Composition Inside `Editor.Canvas` you can mount: - `Editor.Section` - one entry per section on the active page (auto-iterates). - `Editor.CanvasControls` - the floating zoom / fit-to-screen controls. - `Editor.SelectionBounds` - multi-select bounding rectangle. - `Editor.SnapGuides` - accent lines that paint during drag. - `Editor.Ruler` / `Editor.Guides` - auto-mounted by `Editor.Root` when `showRuler` is true. The canvas applies a single `scale` to its content (`finalScale = pageScale * zoom`), so child sections can be authored in PDF points and still land in the right CSS pixels. You never write `section.x` from a mouse event in pixels - the hook divides by `finalScale` first. ## Examples ### Read-only canvas inside an editable root Use `Editor.StaticCanvas` when you want a viewer surface but the rest of the editor stays mutable. ```tsx ``` ### Custom controls Swap the default floating controls for your own. ```tsx }> ``` ## API Reference ## Related - [Section](/docs/primitives/section) - the unit of content - [StaticCanvas](/docs/primitives/static-canvas) - read-only variant - [Ruler](/docs/primitives/ruler) / [Guides](/docs/primitives/guides) - overlay layers - [Unit system](/docs/concepts/unit-system) - points vs CSS pixels