heygen-com/hyperframes

seam-craft

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root backgr…

All-time #455 Trending #315 Hot #6675 First seen Jul 16, 2026
8-week activity · all time api

Installation

$ npx skills add heygen-com/hyperframes --skill seam-craft

Summary

  • Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline.
  • Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend.
  • Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline.
  • Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Security audits

Partner security reviews for this skill.

agent-trust-hub SAFE

Analyzed Jul 16, 2026

The skill describes a rendering mechanism for video transitions that involves injecting and executing JavaScript templates. While this is the intended functionality for the 'heygen-com' vendor, the process of interpolating placeholders into executable code without strict whitelisting on the master timeline creates a surface for potential indirect code or prompt injection.

snyk LOW

Analyzed Jul 16, 2026

No issues detected.

socket Score 0.9000 · 0 alerts

Analyzed Jul 16, 2026

  • license 1
  • maintenance 1
  • quality 0.9
  • supply chain 1
  • vulnerability 1

0 alerts

Also in this package

Other skills from heygen-com/hyperframes · top by installs.

npx skills add heygen-com/hyperframes

Browse all from heygen-com/hyperframes

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 47.7K
License LICENSE
Default branch main
Open issues 22
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,838 B
  • docs SUMMARY.md 794 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 58,300 installs

SKILL.md

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

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).

  1. Pulls #el-<to> wrapper data-start earlier by duration_s (creates the

overlap window).

  1. 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.

  1. 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:

Token Meaning
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)
__ORIGINOUT / ORIGININ__ 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).