mcut
@mcut/timeline

CommandDefinition\<TPayload\>

Generated TypeScript API reference for the public mcut SDK.

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

On this page