Introduction

Canvus SDK

A headless, framework-agnostic TypeScript SDK for building visual layout editing workspaces.

Canvus lets you build CMS page-builders, A/B testing editors, and high-performance visual IDE tools using web-native browser capabilities — no iframes, no virtual DOM, no framework lock-in.


Why Canvus?


Quick Example

import { Workspace } from '@canvus/core'
 
// Mount the workspace onto a container element
const ws = new Workspace(document.getElementById('editor')!, {
  onHTMLCommit(id, html) {
    console.log(`Node ${id} updated:`, html)
  },
  onOperationsGenerated(ops) {
    // Push to your undo/redo stack
    historyStack.push(ops)
  },
})
 
// Add a content node
ws.addNode({
  id: 'hero-card',
  rawMarkup: '<div class="p-6 bg-white rounded-lg shadow">Hello, Canvus!</div>',
  currentRect: null,
})

Explore the Docs

SectionDescription
Getting StartedInstallation, setup, and your first workspace
OverviewArchitecture, design philosophy, and project goals
Core ConceptsWorkspace, Shadow DOM, Canvas overlay, and more
SDK ReferenceComplete API documentation for all modules
GuidesOperations, custom editors, layout system, and importing
ArchitectureModule roles, developer guidelines, and ADRs