mirror of
https://github.com/OpenCut-app/OpenCut.git
synced 2026-07-13 21:52:53 +02:00
Move project entity shapes into the model layer so sibling domains no longer depend on timeline for core data types. Co-authored-by: Cursor <cursoragent@cursor.com>
33 lines
705 B
TypeScript
33 lines
705 B
TypeScript
import type { EffectPass } from "@/effects/types";
|
|
import type { RetimeConfig } from "@/model";
|
|
import { BaseNode } from "./base-node";
|
|
|
|
export type BlurBackgroundNodeParams = {
|
|
mediaId: string;
|
|
url: string;
|
|
file: File;
|
|
mediaType: "video" | "image";
|
|
duration: number;
|
|
timeOffset: number;
|
|
trimStart: number;
|
|
trimEnd: number;
|
|
retime?: RetimeConfig;
|
|
blurIntensity: number;
|
|
};
|
|
|
|
export type BackdropSource = {
|
|
source: CanvasImageSource;
|
|
width: number;
|
|
height: number;
|
|
};
|
|
|
|
export interface ResolvedBlurBackgroundNodeState {
|
|
backdropSource: BackdropSource;
|
|
passes: EffectPass[];
|
|
}
|
|
|
|
export class BlurBackgroundNode extends BaseNode<
|
|
BlurBackgroundNodeParams,
|
|
ResolvedBlurBackgroundNodeState
|
|
> {}
|