Technical referenceAPI signaturesData shapes
Project types
Data shapes for project. See all type groups for other domains and shared units. Import public types from codeboard-studio; helper shapes are included to explain nested values.
StoryboardDocument
export interface StoryboardDocument {
components: DrawingComponent[];
schemaVersion: 5;
studio: StudioContent;
version: number;
id: Id;
title: string;
author?: string;
createdAt: string;
updatedAt: string;
canvas: {
width: number;
height: number;
background: string;
};
seed: number;
frameRate: number;
idCounter: number;
scenes: Scene[];
sequences: Sequence[];
shots: Shot[];
panels: Panel[];
brushes: BrushPreset[];
assets: Asset[];
audioTracks: AudioTrack[];
comments: ReviewComment[];
locks: ProjectLock[];
changes: ChangeEntry[];
metadata: Record<string, string>;
}ProjectOptions
export interface ProjectOptions {
id?: Id;
title: string;
author?: string;
width?: number;
height?: number;
background?: string;
seed?: number;
frameRate?: number;
}ProjectChanges
export interface ProjectChanges {
title?: string;
author?: string | null;
seed?: number;
frameRate?: {
value: number;
timing: "preserve-frames" | "preserve-seconds";
};
canvas?: {
width?: number;
height?: number;
background?: string;
/** Existing artwork coordinates stay unchanged in either mode. */
applyTo?: "new-panels" | "all-panels";
};
}ProjectMigrationReport
export interface ProjectMigrationReport {
format: "codeboard-project-migration/1";
source: string;
target: string;
sourceContainerVersion: number;
targetSchemaVersion: number;
version: number;
documentHash: string;
snapshotHash: string;
preserved: {
projectId: string;
boardTiming: true;
artworkIds: true;
embeddedAssets: number;
};
warnings: string[];
}PanelCaptureResult
export interface PanelCaptureResult {
animationId: string;
source: {
projectId: string;
version: number;
panelId: string;
panelRevision: number;
startFrame: number;
durationFrames: number;
captureStartFrame: number;
captureDurationFrames: number;
};
identities: {
sourceId: string;
capturedId: string;
}[];
}PanelCaptureOptions
export interface PanelCaptureOptions {
id: string;
name?: string;
preRollFrames?: number;
postRollFrames?: number;
}CoordinateSpace
export interface CoordinateSpace extends ArtworkCoordinateSpace {
panelId: string;
}MutationOptions
export interface MutationOptions {
expectedVersion?: number;
}ShotDuplicateOptions
export interface ShotDuplicateOptions {
id: string;
shotId: string;
name?: string;
}ShotDuplicateResult
export interface ShotDuplicateResult {
animationId: string;
sourceAnimationId: string;
identities: {
sourceId: string;
copyId: string;
}[];
}Codeboard by Nonom Friedman
Explore Nonom Library