Communitygithub.com

carvercat/carvercat-motion

通过 Carvercat MCP 工具,创作、动画、修改、检查、评分、重新格式化、渲染或交付可编辑的原生 Carvercat 动态图形——涵盖动态文字、过渡、下三分之一、标志揭示、图表、UI 动效、声音设计和 9:16 版本——并附带经过验证的模式库和工艺规则。适用于应用操作和创意图形,不涉及 Carvercat 源码实现。

carvercat-motion 是什么?

这个技能为 AI 代理提供了一个完整的 Carvercat 动态图形工作流程,包含经过验证的模式库、工艺规则和自动化脚本。它支持 Claude、GPT/Codex、Gemini 等任何能够调用 Carvercat MCP 工具的代理,通过 `scene.apply` 等 MCP 命令直接操作 Carvercat 应用。技能包含 25 个预设和 5 个模板,以及 SaaS UI、动态文字、数据可视化等多种风格包,还有面向常见需求(如 SaaS 启动、运动比分更新、9:16 短视频)的实用配方。技能内置了 Python 脚本进行合成音效生成、语音对齐、项目导出和格式转换,并提供了全面的检查清单(包括测速、时间、曲线、lint、预期效果和闪屏检查),确保交付质量。它还强调了通过直接编辑 `.carverproj` JSON 文件来构建和修改场景的最佳实践,以及使用干运行和预检命令逐步验证的方法。

兼容平台✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/carvercat/carvercat-skills/tree/HEAD/ai

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Carvercat 动态图形

找不到什么?references/INDEX.md 可以回答整个技能中“X 在哪里”的问题(工艺、应用、效果、绘图、地图、工作流、已知问题)。

适用于任何能够调用 Carvercat MCP 工具的代理:Claude、GPT/Codex、Gemini,或者阅读此文档的人。这里不依赖任何特定供应商。工具名称可能带有客户端前缀(例如 mcp__carvercat__carvercat_run)。

0. 单位与新版画布(请先阅读)

你编写的所有内容均使用设计单位:从画布左上角开始的 px,y 轴向下,角度顺时针,CSS 颜色和缓动,fontSize 以 px 为单位,时间表示为帧、"1.5s" 或 "500ms"。通过一次验证调用构建整个场景(scene.apply,先干运行),使用 CSS 类选择器选择对象,借助辅助工具(layout.*、text.fit、motion.apply、measure.*),并在任何发送操作前运行 carve.preflight {host}。指南:references/app/design-units.md。旧名称仅在一个版本内有效,并且已在该文件中列出一次;请不要再使用它们。

0b. 在触碰任何东西之前

  • 找到本机上已安装的 Carvercat 应用,并将本技能文件夹作为已安装文件夹使用;对于创意工作,此技能已足够。不要使用固定的历史路径。
  • carvercat_session(附加)然后 carvercat_state:在你更改任何内容之前,验证构建版本、打开的项目和合成。carvercat_list 提供 ID。
  • 在构建过程中,要求用户不要点击应用:他们的合成切换会重定向你的下一个命令。
  • 永远不要清空用户文档来重建。将可编辑的 .carverproj 保存在任务的输出位置。

1. 像动态设计师一样规划(工艺)

仅阅读任务所需的内容:

需求阅读
持续时间、缓动、12 原则、编排、与音乐同步的节奏、反模式references/craft/motion-principles.md;每个原则对应一页,位于 references/craft/principles/
字体比例、阅读时间、入场样式、强调;测量的字间距、行距和 lint 阈值references/craft/typography.md
使用哪个转场、持续多长时间、剪辑处的过渡references/craft/transitions.md
音效和音乐:每个事件一个音频片段、电平、爆破音/呼啸音规格references/craft/sound-design.md
9:16 / 社交安全区域、转换 16:9 作品references/craft/vertical-and-safe-areas.md
调色盘角色、对比度、渐变、色彩值references/craft/colour.md
品牌动态系统:缓动家族、持续时间、标志性动作、品牌包references/craft/brand-systems.md
焦点、阅读顺序、网格、层级、安全区域references/craft/composition-and-layout.md
阅读简报:事实、帧数预算、风格、方案references/craft/reading-a-brief.md
针对特定简报应选用哪个风格包references/craft/style-families.md
每种风格对应的测量帧数;该风格的审查列表references/craft/timing-by-style.md、references/craft/review-by-style.md
某个动效为何有效:12 原则及更多、设计基础、技巧、流派、时机、工作流、可访问性、历史(每页末尾都有如何在 Carvercat 中实现的方法)../wiki/README.md、机器可读索引 ../wiki/index.json

普遍适用的规则:

  • 每个场景只有一个主角。
  • 辅助元素以 expo-out 或减速方式进入。
  • 退出时加速,持续时间约为入场时间的 70%。
  • 相邻元素交错 3–6 帧。
  • 每个场景都有入场、中间的一些运动和退出(永远不要有冻结的静止)。
  • 文字至少保持 max(25 帧、每词 10 帧) + 10 帧。Carvercat 的 lint 要求每秒 17 个字符(不计算空格),至少 25 帧完全不透明。

2. 首先从模式库构建

patterns/README.md 包含 25 个预设和 5 个模板,均在版本 0.0.72 上验证,带有测量的超调量和稳定帧数,以及用于推进、缩放穿透、卡片堆叠和高亮扫光的方案。该包位于 ../library/templates/motion-patterns/。使用 library.list {query:"expo"} 检查是否已安装;如果未安装,则将其安装到用户库文件夹(帮助 > 库文件夹或 library.folder,复制到 templates/,然后 library.reload;需要 Carvercat 0.1.8+;见 patterns/README.md)。在 0.1.8 之前,已安装的应用无法加载它。放置的模板会变成一个嵌套合成——请查阅 patterns README。

  • 单个对象:preset.apply {name, id},例如 Rise - expo、Pop - spring、Stamp、Exit up - accelerate。
  • 文字:Words rise - expo、Letters cascade - spring、Lines reveal - decelerate 等。
  • 多个对象:library.place {name, frame} 然后 template.apply {id}。例如 Two-tone wipe、Colour iris、Lower third - accent bar、Logo - stamp reveal、Bar chart - grow。
  • 在一个合成中完成完整的多节拍作品:patterns/promo-assembly.md。
  • 风格包(安装方式与 Motion Patterns 相同):SaaS UI、Kinetic Typography、Data Viz、Corporate Brand、Minimal Luxury、Social Short-form 9:16、Cartoon Bounce、Funky、Futuristic HUD、Retro、Glitch、Sports、Explainer;使用 references/craft/style-families.md 选择。它们需要安装 Rethink Sans 字体(文字无法使用应用捆绑的字体,KI-136)。每个包在 ../categories/ 下都有一个实验室和一个展示项目。
  • 常见简报的配方(SaaS 发布、运动比分更新、9:16 短视频技巧、年度报告开场、季度业绩、奢侈品预告、解说课程、动态语录短片、儿童解说、促销预告、科技预告片、复古之夜、音乐预告):包含镜头列表和帧数,以及仅使用库模板构建的已验证示例项目,位于 recipes/README.md。
  • 精确曲线:在离开的关键帧上使用 ease: "cubic-bezier(a, b, c, d)"(patterns/custom-curves.md)。
  • 弹簧和弹跳:scripts/motion/curves.py 将它们烘焙到关键帧中。

3. 驱动应用

既定规则(2026 年 10 月 23 日): 通过直接编辑 .carverproj JSON,然后使用 edit.open {force:true} 来构建和修改场景。整个场景也可以通过 MCP 在一次经过验证的原子操作 scene.apply 中发送;项目文件现在是 carvercat/2(px、y 向下、帧;每次保存都会写入,v1 文件仍然可以打开),下面的 JSON 路线描述了旧的 v1 形状(分数、y 向上),json_author/cc.py 会写入这种形状,应用仍然可以加载;对于新的生成器,请写入 carvercat/2(cc_project.py,配方构建者使用的方式)。对于文件无法完成的步骤(测量文字、查看、保存、Resolve 传输、实时调整),请使用 MCP。流程和备选方案:references/app/json-authoring.md。

references/app/design-units.md 是工作指南:单位、scene.apply、选择器、anim.set(补间、缓动、交错)、CSS 术语的效果、辅助工具、无头模式说明。references/app/mcp-essentials.md 涵盖了构建 -> 查看 -> 检查循环、值得了解的命令以及可能浪费数小时的陷阱(clip.move 会覆盖、ID 在每个合成中重新开始)。机器可读目录位于 carvercat://schema/design、carvercat://schema/commands 和 carvercat://schema/scene(应用仓库的 schema/agent/json-schema/):在使用不熟悉的关键字之前先阅读其条目;永远不要猜测参数或生成的条目 ID。

对于脚本化工作,请使用维护的 Python 脚本:ai/scripts/cc_client.py + cc_scene.py(references/app/creative-toolkit.md);应用也有自己的 Python 辅助工具(carvercat_py)。效果、填充/描边、渐变、颜色、变换、交错和路径修剪见 references/app/creative-controls.md。挂起的计划可以通过 scene.apply {dry_run: true} 和 measure.* 检查;除了文档之外,不会存储任何内容。测量实际成形文字;有意识地选择字体,包括在混合 RTL 文本中单独处理 LTR 数字序列。指南中的每个示例都由 ai/scripts/verify_examples.py 针对无头 Carvercat 运行验证。

3b. 效果、绘图、地图和完整任务

需求阅读
模糊、发光(带燃烧限制)、阴影、运动模糊、渐变、描边/修剪绘制、柔边和蒙版羽化、文字轮廓、交错、蒙版references/effects/README.md
隐藏基础参数、提升它们、参数之间的绳索references/effects/basement-promote-ropes.md
所有形状(矩形、椭圆、星形、多边形、路径)、排列和分组references/drawing/shapes.md
由零件组成的角色/对象:锚点作为关节、父子关系、空对象(object.new {kind: "null"})作为枢轴或手柄references/drawing/rigging.md
地图:边界、道路、地图钉、路线、环形、地标弹出框、箭头、缩放references/maps/maps.md
字幕 + 画外音、RTL/阿拉伯语、Resolve 移交、导出、任务循环references/workflows/
某些行为异常references/known-issues.md

普遍适用的效果规则:glow 强度 ≤ 0.8(0.9 会裁切,1.0 会烧到白色),半径决定光晕范围;模糊和阴影仅用于主角的深度感;线条使用修剪绘制;UI 形状的 softEdge 为 2 到 6 px,环境光为 160 到 320 px(references/effects/soft-edge.md,包含羽化蒙版揭示)。

4. 在宣布完成之前进行检查

  • 查看入场、保持和退出(carvercat_look)。使用 carvercat_inspect 进行测量(timing、用于超调和稳定的 curves、lint、expect、用于闪屏检查的 qc)以及无需渲染的辅助工具(measure.boxes、measure.overlaps {within: "safe"}、measure.contrast)。在发送前使用 carve.preflight {host} 进行预检。
  • 对照 references/craft/review-checklist.md 逐项检查:故事、时机、文字、UI、转场、外观、音效、卫生。
  • 首先构建一个具有代表性的合成,进行审查,然后再扩展。配方是起点:根据简报和素材调整层级、图像和时机。安全边界不能替代视觉判断。
  • 延迟或音频资源不足:references/app/performance.md。

5. 位于应用外部的工具(scripts/motion/、Python 3、标准库 + ffmpeg)

  • vo_align.py:画外音 → 单词和行帧。
  • sfx_kit.py / sfx_render.py:合成音效(爆破音、呼啸-撞击音、滴答声、冲击声……)→ 每个提示一个 WAV 文件。
  • music_bed.py:适合剪辑的背景音乐;mix_check.py:分轨 LUFS 和参考混音。
  • reformat.py:16:9 项目 → 9:16 合成。
  • carverproj.py:项目 JSON 辅助工具(ID、键)。
  • build_pattern_pack.py / comp_to_template.py:重新生成包。
  • effects_param_tables.py:重新生成效果参数表。
  • ../maps/geo_paths.py / ../maps/map_overlay.py:真实地理坐标 → 路径;解说覆盖层(地图钉、环形、路线、卡片、箭头)。

6. 安全与交付

使用场景 ID(以及 Scene.component 命名空间),以便修订版更新相同的对象:再次应用相同的文档,仅更改差异部分。在拒绝之后,停止依赖该拒绝的工作。在未知结果之后,在进行任何进一步更改之前检查身份和状态;永远不要重放你不知晓结果的写入或导出操作。Resolve 操作需要用户的当前授权;没有授权时,仅在原生环境中创作和测试。获得授权后,验证实际的项目、时间线和格式,保留原始编辑,并检查合成样本。Carvercat 工作的单位是合成;Resolve 时间线是独立的。关于传输检查、整合、重定位和重新链接,请阅读 references/app/media-recovery.md;当清理参考覆盖范围不完整时,请保留文件。

工艺参考背后理念的致谢和许可:SOURCES.md。

相关技能