import { CanvasNodeType } from "./types"; import type { CanvasNodeMetadata } from "./types"; type CanvasNodeSpec = { width: number; height: number; title: string; metadata?: CanvasNodeMetadata; }; export const NODE_DEFAULT_SIZE = { [CanvasNodeType.Image]: { width: 340, height: 240, title: "New Generation" }, [CanvasNodeType.Text]: { width: 340, height: 240, title: "Note" }, [CanvasNodeType.Config]: { width: 340, height: 240, title: "生成配置" }, } satisfies Record; export const NODE_SPECS = { [CanvasNodeType.Image]: { ...NODE_DEFAULT_SIZE[CanvasNodeType.Image], metadata: { content: "", status: "idle" }, }, [CanvasNodeType.Text]: { ...NODE_DEFAULT_SIZE[CanvasNodeType.Text], metadata: { content: "", status: "idle", fontSize: 14 }, }, [CanvasNodeType.Config]: { ...NODE_DEFAULT_SIZE[CanvasNodeType.Config], metadata: { content: "", status: "idle", generationMode: "image" }, }, } satisfies Record; export function getNodeSpec(type: CanvasNodeType) { return NODE_SPECS[type]; }