summaryrefslogtreecommitdiff
path: root/apps/web/src/types
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-08-04 20:45:48 +0200
committerMaze Winther <mazewinther@gmail.com>2025-08-04 20:45:48 +0200
commitb0329f1372f10b887ad056b9220bf49a4e822e0a (patch)
tree59d620989cbe06239e458198edd981761ac3acf5 /apps/web/src/types
parentf0dd30ebfc16a61c2869da8407101e8533e584f0 (diff)
downloadopencut-b0329f1372f10b887ad056b9220bf49a4e822e0a.tar.gz
refactor: move canvas size to be a project-level setting instead of editor-level
Diffstat (limited to 'apps/web/src/types')
-rw-r--r--apps/web/src/types/editor.ts2
-rw-r--r--apps/web/src/types/project.ts10
2 files changed, 12 insertions, 0 deletions
diff --git a/apps/web/src/types/editor.ts b/apps/web/src/types/editor.ts
index 12b474fd..6cbc6a6a 100644
--- a/apps/web/src/types/editor.ts
+++ b/apps/web/src/types/editor.ts
@@ -1,5 +1,7 @@
export type BackgroundType = "blur" | "mirror" | "color";
+export type CanvasMode = "preset" | "original" | "custom";
+
export interface CanvasSize {
width: number;
height: number;
diff --git a/apps/web/src/types/project.ts b/apps/web/src/types/project.ts
index f52cba73..bf510942 100644
--- a/apps/web/src/types/project.ts
+++ b/apps/web/src/types/project.ts
@@ -1,3 +1,5 @@
+import { CanvasSize } from "./editor";
+
export interface TProject {
id: string;
name: string;
@@ -10,4 +12,12 @@ export interface TProject {
blurIntensity?: number; // in pixels (4, 8, 18)
fps?: number;
bookmarks?: number[];
+ canvasSize: CanvasSize;
+ /**
+ * Tracks how the canvas size was set:
+ * - "preset": User selected a standard preset (e.g. 16:9, 9:16)
+ * - "original": Using the first media item's dimensions
+ * - "custom": User set a custom aspect ratio or dimensions
+ */
+ canvasMode: "preset" | "original" | "custom";
}