mirror of
https://github.com/OpenCut-app/OpenCut.git
synced 2026-07-13 21:52:53 +02:00
feat: masks, properties refactor, shaders, storage migrations, and more
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import type { TScene } from "@/lib/timeline/types";
|
||||
|
||||
export type TBackground =
|
||||
| {
|
||||
type: "color";
|
||||
color: string;
|
||||
}
|
||||
| {
|
||||
type: "blur";
|
||||
blurIntensity: number;
|
||||
};
|
||||
|
||||
export interface TCanvasSize {
|
||||
width: number;
|
||||
height: number;
|
||||
}
|
||||
|
||||
export interface TProjectMetadata {
|
||||
id: string;
|
||||
name: string;
|
||||
thumbnail?: string;
|
||||
duration: number;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
}
|
||||
|
||||
export interface TProjectSettings {
|
||||
fps: number;
|
||||
canvasSize: TCanvasSize;
|
||||
canvasSizeMode?: "preset" | "custom";
|
||||
lastCustomCanvasSize?: TCanvasSize | null;
|
||||
originalCanvasSize?: TCanvasSize | null;
|
||||
background: TBackground;
|
||||
}
|
||||
|
||||
export interface TTimelineViewState {
|
||||
zoomLevel: number;
|
||||
scrollLeft: number;
|
||||
playheadTime: number;
|
||||
}
|
||||
|
||||
export interface TProject {
|
||||
metadata: TProjectMetadata;
|
||||
scenes: TScene[];
|
||||
currentSceneId: string;
|
||||
settings: TProjectSettings;
|
||||
version: number;
|
||||
timelineViewState?: TTimelineViewState;
|
||||
}
|
||||
|
||||
export type TProjectSortKey = "createdAt" | "updatedAt" | "name" | "duration";
|
||||
export type TSortOrder = "asc" | "desc";
|
||||
export type TProjectSortOption = `${TProjectSortKey}-${TSortOrder}`;
|
||||
Reference in New Issue
Block a user