Codeboard.
Technical referenceAPI signaturesData shapes

Script types

Data shapes for script. See all type groups for other domains and shared units. Import public types from codeboard-studio; helper shapes are included to explain nested values.

ScriptEntry

Code
export interface ScriptEntry {
    id: string;
    kind: "scene" | "action" | "dialogue";
    text: string;
    speaker?: string;
    panelIds: string[];
}

ScriptInput

Code
export interface ScriptInput {
    id: string;
    title: string;
    entries: ScriptEntry[];
}

ProductionScript

Code
export interface ProductionScript extends ScriptInput {
    revision: number;
}

ScriptChangeReport

Code
export interface ScriptChangeReport {
    scriptId: string;
    beforeRevision: number;
    revision: number;
    titleChanged: boolean;
    reordered: boolean;
    added: string[];
    removed: string[];
    updated: {
        id: string;
        fields: ("kind" | "text" | "speaker" | "panelIds")[];
    }[];
}

CaptionImportReport

Code
export interface CaptionImportReport {
    baseVersion: number;
    changes: {
        panelId: string;
        field: CaptionField;
        before: string;
        after: string;
    }[];
    unchangedPanelIds: string[];
    plan: EditPlan | null;
}

ScriptBoardPanel

Code
export interface ScriptBoardPanel {
    panelId: string;
    shotId: string;
    entryIds: string[];
    durationFrames: number;
    title?: string;
}

ScriptBoardReport

Code
export interface ScriptBoardReport {
    scriptId: string;
    scriptRevision: number;
    panels: {
        panelId: string;
        shotId: string;
        entryIds: string[];
        durationFrames: number;
    }[];
    plan: EditPlan;
}

CaptionField

Code
export type CaptionField = (typeof captionFields)[number];

CaptionImportRow

Code
export type CaptionImportRow = {
    panelId: string;
} & Partial<Record<CaptionField, string | undefined>>;

BoardCaptureOptions

Code
export interface BoardCaptureOptions {
    sequenceId: string;
    panels: readonly {
        panelId: string;
        animationId: string;
        clipId: string;
    }[];
    audio: {
        mode: "omit";
    } | {
        mode: "convert";
        sampleRates: Record<string, number>;
        rounding?: TimeRounding;
    };
}

On this page