ef-workbench

Full editor shell. Composes hierarchy, canvas, and timeline into a complete editing layout.

ef-workbench is a CSS grid shell for a composition. Put an ef-timegroup (or an ef-configuration or ef-canvas) in its default slot and the workbench creates the hierarchy, fitted canvas, timeline, transport, zoom, theme, and export controls around it. Use toolbar-start and toolbar-end for additions to the built-in toolbar. Pan/zoom state and theme preference are persisted to localStorage.

html
<ef-workbench style="width: 100%; height: 100vh; display: block;">
  <span slot="toolbar-start">My editor</span>
  <button slot="toolbar-end" type="button">Save</button>
  <ef-timegroup id="root" mode="fixed" duration="10s" class="w-[1920px] h-[1080px] bg-slate-900">
    <!-- composition content -->
  </ef-timegroup>
</ef-workbench>

The workbench discovers the root timegroup and wires its internal hierarchy and timeline to #root. The timeline includes its ruler, rows, playhead, and zoom controls; playback controls live in the workbench transport bar.

Alternatively, set the workbench attribute directly on a root ef-timegroup to auto-wrap:

html
<ef-timegroup workbench mode="fixed" duration="10s" class="w-[1920px] h-[1080px]">
  <!-- workbench is created automatically -->
</ef-timegroup>

Set the preview mode as a property when you need the canvas comparison view:

js
document.querySelector("ef-workbench").previewMode = "canvas";

Preview modes:

Attributes

2 of 2

rendering

React prop
rendering
Type
boolean
Default
false
Description
True while a native render host (EF_FRAMEGEN) owns frame capture — collapses the workbench to just the bare .stage (no toolbar/sidebar/ transport/timeline chrome).

resolution

React prop
resolution
Type
string
Default
"1920x1080"
Description
Composition's true rendered resolution, as "WIDTHxHEIGHT" (e.g. "1920x1080", "1080x1920").

Slots

CSS Custom Properties

Events

Methods

1 of 1