ContributingProject Glossary

Project Glossary

Canvus uses a specific vocabulary to describe its architecture and components. This glossary ensures consistent terminology across the codebase, documentation, and team communication.


Core Terms

Workspace

The top-level orchestrating engine that binds interaction handlers, manages node hierarchies, and renders overlays.

Avoid: Sandbox, canvas container

Content Node

A single user-provided HTML element represented in the workspace, decorated with wrappers for styling and tracking.

Avoid: Component, element, block, widget

Projection Mutation Layer

The isolated Shadow DOM where the active HTML is rendered so the browser’s native layout engine handles reflows.

Avoid: Iframe sandbox, render root

Viewport Surface Layer

The transparent HTML5 Canvas overlaid on top of the workspace to draw select outlines, resizing anchors, margins, paddings, and alignment guides.

Avoid: Draw layer, canvas overlay

Flat String Bridge

The serialization mechanism that cleans and extracts the user’s raw HTML, completely stripped of any SDK wrapper elements.

Avoid: HTML exporter, DOM serializer


Interaction Terms

Variant

A specific version of an HTML document in a user experience experiment. The workspace edits only one variant at a time.

Avoid: Cohort, test bucket

Spacing Adjuster

Interactive margin or padding drag handles rendered on the Viewport Surface Layer for mutating layout margins and paddings in real-time.

Avoid: Spacer, drag margin

Operation

A serialized, discrete mutation payload describing a layout change (e.g., style updates, class modifications, tree modifications) generated by visual gestures, designed to be easily committed to, or reversed by, a host’s global transaction lifecycle.

Avoid: Transaction, change event, delta


Editing Terms

Plain-Text Inline Editor

The default, tag-restricted inline text editing mode of the workspace that prevents HTML markup injection.

Avoid: Text input, inline editor

Custom Editor Mount

An escape hatch callback allowing host applications to bypass plain-text editing and mount custom rich-text editors (e.g., TipTap, Quill) directly inside the Workspace.

Avoid: Third-party editor, WYSIWYG connector

Scoped Stylesheet

A <style> block injected directly into the Projection Mutation Layer to apply custom styling without polluting the host editor shell.

Avoid: Global style, global stylesheet


Rules

⚠️

These terminology rules apply to all code, documentation, comments, and communication:

  • Strict Isolation: No SDK styles or wrappers may leak out of the Projection Mutation Layer or remain in the output of the Flat String Bridge
  • Single-Document Target: The Workspace operates on a single HTML document at a time. Any switching of Variants is coordinated by the hosting shell
  • Granular Synchronization: The Workspace relies on the host application to apply structural document updates using granular mutation APIs rather than reconciling full HTML documents
  • Throttled Redraws: Render calls to the Viewport Surface Layer must be throttled using requestAnimationFrame to prevent unnecessary CPU cycles and layout thrashing