Workspace sync
How the host keeps project navigation and shared workspace state synchronized around Blocks.
Workspace sync
The host owns project navigation and synchronization. A Block renders its task controls and output; it does not add a “Continue to the next Block” control. The project rail is the single navigation surface.
@stillmade/block-sdk/workspace-sync defines the versioned contract. Saved changes propagate automatically through the shared project document, and every dependent Block reads the newest connected values. Propagation never asks for confirmation. Blocks still require the normal runtime approval when a new paid or hosted execution is necessary.
The shared scopes cover editor media and timing, Canvas, boards, image panels, blueprint, script, shots, voiceover, animation, and chat messages. Presence may include the active selection, normalized cursor coordinates, current editing field, an in-progress chat draft, and the client source (web, desktop, or mcp). Cursor display remains a viewer preference.
import {
WORKSPACE_SYNC_CONTRACT,
WORKSPACE_SYNC_SCOPES,
workspaceChangeEvent,
} from '@stillmade/block-sdk/workspace-sync';
const change = workspaceChangeEvent({
scope: 'panels',
revision: 12,
paths: ['strip.panel-4.image'],
});The event records which source paths changed. The host owns delivery, revision ordering, conflict handling, and downstream invalidation; Block code must not maintain a parallel navigation or synchronization channel.