summaryrefslogtreecommitdiff
path: root/apps/web/src/versions/types.ts
blob: d2852e8dea0fc2923fffe6f58ee6bc396c7d3186 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import type { SerializedProject } from "@/services/storage/types";

export type ProjectVersionKind = "named" | "auto";

/**
 * A point-in-time snapshot of a project (see notes/project-versioning.md).
 *
 * Media is referenced by asset id inside `project` (v1 keeps the per-project
 * media store); use `getReferencedMediaIds` to extract the referenced set.
 */
export interface ProjectVersion {
	id: string;
	projectId: string;
	kind: ProjectVersionKind;
	/** Required for kind "named". */
	name?: string;
	createdAt: Date;
	project: SerializedProject;
	/** Data URL captured via renderer.captureFrame(); named versions only. */
	thumbnail?: string;
}