ElementRenderContext
Generated TypeScript API reference for the public mcut SDK.
mcut SDK / compositor/src / ElementRenderContext
Interface: ElementRenderContext
Defined in: packages/compositor/src/types.ts:44
Properties
backend
backend: RenderBackend;Defined in: packages/compositor/src/types.ts:54
The draw layer (see backend.ts) — structured fast paths live here.
ctx
ctx: Canvas2D;Defined in: packages/compositor/src/types.ts:52
Frame-space canvas2d context for raster drawing (text, chrome, custom
renderers). On the canvas2d backend this is the target itself; on GPU
backends it is a scratch surface composited in z-order. Reading it marks
the raster surface in use — renderers with a structured fast path (video
/image quads) should draw via backend instead.
project
project: object;Defined in: packages/compositor/src/types.ts:55
assets
assets: Record<string, {
durationMs?: number;
hash?: string;
height?: number;
id: `a-${string}`;
kind: "video" | "audio" | "image";
mimeType?: string;
name?: string;
nativePreview?: boolean;
src: string;
width?: number;
}>;fps
fps: number;height
height: number;id
id: string;layouts
layouts: object[];Multicam layout templates this project references. See layouts.ts.
markers
markers: object[];Timeline markers, sorted by timeMs (the commands keep them sorted).
name
name: string;presets
presets: object[];Named inspector value bundles (style presets). See presets.ts.
tracks
tracks: object[];Render order: index 0 is painted first (bottom); last is topmost.
version
version: 1;Project format version (see migrations.ts). parseProject migrates
older documents before validating; the default covers in-memory creation.
width
width: number;source
source: FrameSource | undefined;Defined in: packages/compositor/src/types.ts:59
timeMs
timeMs: number;Defined in: packages/compositor/src/types.ts:58
Absolute timeline time being rendered.
track
track: object;Defined in: packages/compositor/src/types.ts:56
elements
elements: TimelineElement[];Sorted by startMs; never overlapping in time.
hidden
hidden: boolean;Visuals from this track are not rendered.
id
id: `t-${string}` = trackIdSchema;locked
locked: boolean;UI hint: track rejects edits. The engine does not enforce this.
magnetic
magnetic: boolean;When enabled, edits compact this track so clips keep no gaps between them.
muted
muted: boolean;Audio from this track is silenced.
name
name: string;