mcpField
S
seam-craft

seam-craft

github.com/heygen-com创意与媒体74.7k60.2k 次安装今天更新
代码仓库

关于 seam-craft

seam-craft 说明 PLV 场景转场的渲染前提和主时间线机制,面向使用片段包装器转场的实现者,涵盖合成行为及避免白闪的方法。

主要功能

  1. 01舞台不透明背景要求
  2. 02转场注入器的时间线行为
  3. 03片段包装器的重叠与轨道分配
  4. 04模板占位符参考
  5. 05渲染与 lint 指引

适用场景

  1. 01避免场景剪辑处出现白闪
  2. 02了解转场如何注入时间线
  3. 03为重叠转场准备片段包装器

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/heygen-com/hyperframes --skill seam-craft

安装后在 Claude Code 中输入/seam-craft确认已加载。

详细介绍

Seam Craft — 场景间转场的渲染前提

这是 PLV 场景间衔接的渲染正确性准则:让任何转场都能正确合成的前提条件和主时间轴机制,与选择了哪种具体转场无关。各转场的目录(交叉淡化、推入滑动、穿越缩放、曲线裁切等)位于转场注册表中;本页是所有转场共同遵循的底层准则。

本准则所管辖的转场均为Tier-B-ready:只对两个场景的剪辑包装器(#el-<sid>)应用纯变换/不透明度/滤镜,不注入叠加层 DOM,也不要求场景间相互配合。叠加层类别(交错方块、百叶窗、漏光、网格溶解、烧页效果)和着色器转场将在后续阶段处理。

舞台渲染前提(防白闪)

一些模板会出现两个包装器的不透明度之和小于 1 的时间窗口(曲线裁切的中间窗口切换、穿越缩放的 0.15 下限、普通交叉淡化的幂曲线凹陷)。在此窗口期间,包装器后方的任何内容都会透出。如果组装后的 index.html 中 #root 没有不透明背景,渲染器就会将不透明度凹陷部分合成到默认的白色页面上,从而在每个接缝处产生白闪,在暗色影片中尤为刺眼(修复前在两次 Spotify 运行中观察到此问题)。 组装器必须为舞台绘制背景: #root { background: var(--canvas-deep, var(--canvas, #000)) } — assemble-index.mjs 现在会输出此设置;其他任何使用这些模板的程序也必须保证这一点。

注入器如何应用转场

在场景 i(from)与场景 i+1(to)之间的 break 边界处,注入器会:

  1. 将 #el-<from> 包装器的 data-duration 延长 duration_s(保持其最后一帧 — 已验证:core/src/runtime/init.ts:1393-1410 的 external-slot 分支)。
  2. 将 #el-<to> 包装器的 data-start 提前 duration_s(创建重叠窗口)。
  3. 将所有剪辑的 data-track-index 重新分配为 0/1 乒乓序列,使两个重叠的包装器不会共用同一轨道(同轨道重叠不合法 — core/src/lint/rules/composition.ts)。较高轨道会合成在上方。
  4. 在 T = overlap-start 处将 gsap_template 写入 window.__timelines["main"]。

原型渲染已验证(2026-05-31):主时间轴上的包装器补间会被定位并渲染(不会与子合成自身暂停的时间轴重复定位 — 运行时会分别驱动两者);延长后的包装器会保持场景 i 的最后一帧;轨道较高的入场包装器会合成在出场包装器上方并与之混合。

模板占位符

注入器会替换每行 gsap_template 中的以下标记:

标记含义
__OLD__"#el-<from>" — 出场剪辑包装器选择器(带引号)
__NEW__"#el-<to>" — 入场剪辑包装器选择器(带引号)
__T__重叠开始时间,单位为秒(主时钟)
__DUR__此边界的 duration_s
__DX__方向类型的水平位移:-1920(LEFT)/1920(RIGHT)
__DY__垂直位移:-1080(UP)/1080(DOWN)
__ORIGIN_OUT__ / __ORIGIN_IN__squeeze 的 transformOrigin 配对

主时间轴上的 filter / scaleX / transformOrigin 符合 lint 规则(已验证:core/src/lint/rules/gsap.ts 没有按属性设置白名单,其检查范围限定于 data-composition-id 区间;x/y/scale/rotation/opacity 白名单仅是一个 scene-worker 提示词规则 — 不适用于 index.html)。

评论

支持 Markdown