createElementContext
Generated TypeScript API reference for the public mcut SDK.
mcut SDK / compositor/src / createElementContext
Function: createElementContext()
function createElementContext(
backend,
project,
track,
timeMs,
source): ElementRenderContext;Defined in: packages/compositor/src/backend.ts:167
Build the per-element render context. ctx is a getter so backends learn
when raster content is actually being drawn (GPU backends flush the
raster surface lazily, in z-order).
Parameters
backend
project
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
number = ...
height
number = ...
id
string = ...
layouts
object[] = ...
Multicam layout templates this project references. See layouts.ts.
markers
object[] = ...
Timeline markers, sorted by timeMs (the commands keep them sorted).
name
string = ...
presets
object[] = ...
Named inspector value bundles (style presets). See presets.ts.
tracks
object[] = ...
Render order: index 0 is painted first (bottom); last is topmost.
version
1 = ...
Project format version (see migrations.ts). parseProject migrates
older documents before validating; the default covers in-memory creation.
width
number = ...
track
elements
TimelineElement[] = ...
Sorted by startMs; never overlapping in time.
hidden
boolean = ...
Visuals from this track are not rendered.
id
`t-${string}` = trackIdSchema
locked
boolean = ...
UI hint: track rejects edits. The engine does not enforce this.
magnetic
boolean = ...
When enabled, edits compact this track so clips keep no gaps between them.
muted
boolean = ...
Audio from this track is silenced.
name
string = ...
timeMs
number
source
FrameSource | undefined