// ============================================================ // IPC 通道常量 — 无限画布相关通道 // ============================================================ /** 主进程 → 渲染进程 — 画布 */ export const MAIN_TO_RENDERER_CANVAS = { /** 画布窗口准备就绪 */ CANVAS_READY: 'canvas:ready', /** 画布扫描进度 */ CANVAS_SCAN_PROGRESS: 'canvas:scan-progress', } as const; /** 渲染进程 → 主进程 — 画布 */ export const RENDERER_TO_MAIN_CANVAS = { /** 画布:打开无限画布窗口 */ OPEN_CANVAS_WINDOW: 'canvas:open-window', } as const; /** 双向通信通道 — 画布 */ export const BIDIRECTIONAL_CANVAS = { /** 画布:扫描目录 */ CANVAS_SCAN_DIRECTORY: 'canvas:scan-directory', /** 画布:扫描项目(接收 projectPath,主进程内部完成 buildScanRoots + walkDirectory) */ CANVAS_SCAN_PROJECT: 'canvas:scan-project', /** 画布:读取 sidecar 元数据 */ CANVAS_READ_SIDECAR: 'canvas:read-sidecar', /** 画布:写入 sidecar 元数据 */ CANVAS_WRITE_SIDECAR: 'canvas:write-sidecar', /** 画布:生成缩略图 */ CANVAS_GENERATE_THUMBNAIL: 'canvas:generate-thumbnail', /** 画布:复制文件(导入) */ CANVAS_COPY_FILE: 'canvas:copy-file', /** 画布:获取原生图片尺寸 */ CANVAS_GET_IMAGE_SIZE: 'canvas:get-image-size', /** 画布:列出目录下的子文件夹(非递归,排除隐藏) */ CANVAS_LIST_SUBDIRS: 'canvas:list-subdirs', /** 画布:扫描阶段文件(单个 episode/shot/stage 组合) */ CANVAS_SCAN_STAGE_FILES: 'canvas:scan-stage-files', /** 画布:扫描资产文件(深度递归扫描 assets/ 目录) */ CANVAS_SCAN_ASSET_FILES: 'canvas:scan-asset-files', /** 画布:创建目录 */ CANVAS_CREATE_DIRECTORY: 'canvas:create-directory', /** 画布:启动原生文件拖拽(拖放媒体文件到外部应用) */ CANVAS_START_DRAG: 'canvas:start-drag', } as const;