SuperAPI AI 工具集

gitframes

设计与创作

查看项目

更新于 10-15 21:50

技能介绍

gitframes 是一个代码优先的视频 SDK,视频是由带关键帧动画的图层树组成的 TypeScript Composition,在 Node.js 中通过 WebGPU 原生渲染,无需浏览器、Puppeteer 或 Chromium。本技能用于从零建立项目并完成首次可验证渲染。

使用前提:Node.js 22 或更高版本(旧版本在 import 时失败);具备 WebGPU 能力的 GPU(macOS 用 Metal,Linux/Windows 用 Vulkan,无 GPU 的无头 CI 机器无法渲染);项目须为 ES module(package.json 中 "type": "module")。

安装:先写好 package.json,再安装。npm 11、pnpm 10、bun 会阻止依赖安装脚本,除非项目批准;gitframes 需要 skia-canvas 的安装脚本下载原生二进制,否则 import 会报 Cannot find module '.../skia.node'。配置 allowScripts(npm)、pnpm.onlyBuiltDependencies/ignoredBuiltDependencies(pnpm)、trustedDependencies(bun);Yarn 默认运行安装脚本。安装命令 npm install gitframes 与 npm install --save-dev tsx typescript @types/node。若先装后批准,用 npm rebuild skia-canvas(pnpm rebuild skia-canvas)重跑被跳过的脚本,不要用 --all 全量批准。

项目结构建议:src/theme.ts(画布尺寸、fps、颜色、字体等唯一来源)、src/film.ts(buildFilm() 组装 Composition)、src/render.ts(渲染帧、预览或完整视频)、assets/fonts/、output/。文本需要真实字体文件,需用户提供或放入 assets/fonts/,不要代为下载。

验证顺序(从最便宜开始):npm run typecheck;npm run frames -- 0 30 60 查看 PNG(黑帧通常意味着缺字体、图层在画布外或透明度为 0);npm run grid 检查运动连贯性;npm run preview 供人观看(含画面、声音、时间线,本地 URL,页面用 WebGPU 全帧率渲染,不自动打开,改动后重跑会接管同一 URL 并自动刷新);最后 npm run render 导出视频。始终以 process.exit(0) 显式退出。首次渲染成功后可参考 gitframes-compose(场景、布局、动画、节拍网格)、gitframes-effects(调色、VFX、设备端视觉)、gitframes-render(帧检查、像素测试、导出与 QA)等专项技能。

限制:无 WebGPU GPU 的环境无法渲染;文本必须提供字体;本技能范围仅到首次渲染验证,更多功能需加载上述专项技能。