SuperAPI AI 工具集

create-composition

前端与建站

查看项目

更新于 10-22 08:07

技能介绍

用途

该技能面向 Helios 动画项目的创建流程。Helios 合成是一个网页(HTML/JS),通过 @helios-project/core 库驱动动画。同一页面既可以在浏览器中直接查看,也可以嵌入 Player,或由 Renderer 渲染为视频。技能适用于两种情况:从零构建新的动画项目,以及把已有动画转换到 Helios 中运行。

主要能力

  • 提供合成页面的基础 HTML 结构(全屏 canvas、引入入口脚本)。
  • 指导初始化 Helios 引擎,配置宽高(示例为 1920×1080)、帧率(示例 30 fps)、时长(示例 10 秒)、输入 schema 与初始属性。
  • 支持可选的输入 schema 定义,声明 title、color 等属性及其默认值。
  • 通过 subscribe 订阅状态变化,在每帧回调中根据 currentFrame 与 inputProps 执行绘制。
  • 支持 autoSyncAnimations 选项:启用后 Helios 会劫持文档时间线,将 CSS 动画与 Web Animations API(WAAPI)动画同步到当前帧,便于拖动时间轴时保持同步。
  • 给出 React、Vue、Svelte 的封装指引(示例见 examples/react/SKILL.md、examples/vue/SKILL.md、examples/svelte/SKILL.md)。

使用方式

  1. 创建 composition.html 作为入口,包含 canvas 元素并以 module 方式引入 ./src/main.ts。
  2. 在脚本中从 @helios-project/core 导入 Helios,用 new Helios({...}) 创建实例,传入 duration、fps、width、height、schema、inputProps、autoSyncAnimations。
  3. 调用 helios.bindToDocumentTimeline() 绑定文档时间线(文档强调这对 Renderer/Player 至关重要)。
  4. 设置 window.helios = helios,暴露实例以便被检测。
  5. 定义 draw(frame, props) 渲染函数,按帧号计算时间与进度并绘制内容。
  6. 使用 helios.subscribe 订阅状态变化触发重绘,并在初始化时调用一次 getState() 完成首帧绘制。

检查清单包括:实例已创建、时间线已绑定、实例已挂载到 window、已订阅状态、Canvas/DOM 元素尺寸正确(通常为 100vw/100vh 或固定分辨率)。

适用场景

  • 新建基于 canvas 的网页动画项目,并计划渲染为视频。
  • 需要参数化输入(如标题、颜色)并在 Player 中预览的动画。
  • 带 CSS 或 WAAPI 动画、需要逐帧同步的项目。
  • 在 React、Vue、Svelte 项目中封装 Helios 动画逻辑。

限制

文档未说明该技能的安装方式、依赖版本要求、浏览器兼容性、渲染输出格式与性能限制,这些信息暂未提供。示例代码使用 TypeScript 语法,需在支持相应构建流程的环境中使用。