Seam Craft — render prerequisites for scene-to-scene transitions

SkillMedia

seam-craft is a skill that guides an AI agent in fixing render issues at scene transitions in HyperFrames launch videos, like white flashes at cuts. It provides render-correctness doctrine for scene-to-scene seams, covering the prerequisites that make transitions composite correctly on the master timeline. Load it when assembling the master timeline or index.html, or when a white flash appears at a cut or crossfade seam, especially on dark film.

Use Seam Craft — render prerequisites for scene-to-scene transitions in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Seam Craft — render prerequisites for scene-to-scene transitions and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Seam Craft skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Have a HyperFrames launch video project with scene-to-scene transitions.

Seam Craft — render prerequisites for scene-to-scene transitionsStart free

What your AI can do with it

  • Diagnose white flashes at cut or crossfade seams in HyperFrames videos
  • Explain prerequisites for correct compositing on the master timeline
  • Guide assembly of the master timeline or index.html
  • Address seam issues on dark film footage
  • Provide render-correctness doctrine for scene-to-scene transitions

Getting started

  1. Have a HyperFrames launch video project with scene-to-scene transitions.
  2. Load the seam-craft skill into your AI agent.
  3. When assembling the master timeline or index.html, or when a white flash appears at a seam, invoke the skill.
  4. Follow the agent's guidance to apply the render-correctness doctrine.

What this skill tells your AI

The instructions your AI receives, as published by heygen-com/hyperframes in .agents/skills/seam-craft/SKILL.md and read by Ahel’s review.

This is the render-correctness doctrine for PLV scene-to-scene seams: the prerequisites and master-timeline mechanics that make any transition composite correctly, independent of which specific transition is chosen. The per-transition catalog (crossfade, push-slide, zoom-through, cut-the-curve, …) lives in the transition registry — this page is the doctrine that sits underneath all of them.

The transitions this doctrine governs are Tier-B-ready: pure transform / opacity / filter on the two scene clip wrappers (#el-<sid>), no injected overlay DOM, no per-scene cooperation. Overlay families (staggered blocks, blinds, light leak, grid dissolve, page burn) and shader transitions are deferred to later phases.

Stage ground prerequisite (white-flash guard)

Several templates open a window where the two wrappers' summed opacity < 1 (the cut-the-curve mid-window cut, zoom-through's 0.15 floor, plain crossfade's power-curve dip). Whatever is BEHIND the wrappers shows through during that window. If the assembled index.html #root has no opaque background, the renderer composites the dip over its default white page → a white flash at every seam, glaring on dark films (observed on two Spotify runs before the fix). The assembler must paint the stage: #root { background: var(--canvas-deep, var(--canvas, #000)) } — assemble-index.mjs now emits this; any other consumer of these templates owns the same guarantee.

How the injector applies a transition

At a break boundary between scene i (from) and scene i+1 (to), the injector:

  1. Extends #el-<from> wrapper data-duration by duration_s (holds its final frame — verified: core/src/runtime/init.ts:1393-1410 external-slot branch).
  2. Pulls #el-<to> wrapper data-start earlier by duration_s (creates the overlap window).
  3. Reassigns all clip data-track-index as a 0/1 ping-pong so the two overlapping wrappers never share a track (same-track overlap is illegal — core/src/lint/rules/composition.ts). Higher track composites on top.
  4. Stamps the gsap_template into window.__timelines["main"] at T = overlap-start.

Verified by prototype render (2026-05-31): the master-timeline wrapper tween is seeked and rendered (no double-seek with the sub-comp's own paused timeline — the runtime drives them independently), the extended wrapper holds scene i's final frame, and the higher-track incoming wrapper composites over + blends with the outgoing one.

Template placeholders

The injector substitutes these tokens in each gsap_template line:

TokenMeaning
__OLD__"#el-<from>" — outgoing clip wrapper selector (quoted)
__NEW__"#el-<to>" — incoming clip wrapper selector (quoted)
__T__overlap-start time in seconds (master clock)
__DUR__duration_s for this boundary
__DX__horizontal travel for directional types: -1920 (LEFT) / 1920 (RIGHT)
__DY__vertical travel: -1080 (UP) / 1080 (DOWN)
__ORIGIN_OUT__ / __ORIGIN_IN__transformOrigin pair for squeeze

filter / scaleX / transformOrigin are lint-clean on the master timeline (verified: core/src/lint/rules/gsap.ts has no per-property whitelist and scopes its checks to data-composition-id ranges; the x/y/scale/rotation/opacity whitelist is a scene-worker prompt rule only — it does not bind index.html).

Signals

GitHub stars
55k
Forks
5k
Last commit
Oct 2026
Installs
59k installs

Questions

When should I load this skill?
Load it when assembling the master timeline or index.html, or when a white flash appears at a cut or crossfade seam, especially on dark film.
What does seam-craft cover?
It covers render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos, including the prerequisites that make transitions composite correctly on the master timeline.
Does it fix white flashes at cuts?
Yes, it guides your agent in fixing render issues at scene transitions, such as white flashes at cuts or crossfades.
Is it only for dark film?
No, it applies to HyperFrames launch videos generally, but white flashes are especially noted on dark film.
Advanced
Item type
skill
Key
seam-craft
Source
github.com/heygen-com/hyperframes