CommandDefinition\<TPayload\>
Generated TypeScript API reference for the public mcut SDK.
mcut SDK / timeline/src / CommandDefinition
Interface: CommandDefinition<TPayload>
Defined in: packages/timeline/src/commands.ts:67
A command definition: a serializable edit operation with a validated
payload and a pure reducer. Definitions double as machine-readable tool
descriptions, so AI integrations can expose every editor operation as a
tool (schema → tool parameters) without extra glue.
Type Parameters
TPayload
TPayload = unknown
Properties
description
description: string;Defined in: packages/timeline/src/commands.ts:69
payloadSchema
payloadSchema: ZodType<TPayload, unknown>;Defined in: packages/timeline/src/commands.ts:70
reduce
reduce: (project, payload) => object;Defined in: packages/timeline/src/commands.ts:71
Parameters
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 = ...
payload
TPayload
Returns
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;type
type: string;Defined in: packages/timeline/src/commands.ts:68