seam-craft

Doctrina de corrección de renderizado para costuras entre escenas en videos de lanzamiento de HyperFrames: los requisitos previos que hacen que las transiciones se compongan correctamente en la línea de tiempo maestra. Cargar al ensamblar la línea de tiempo maestra / index.html, cuando aparece un destello blanco en un corte o en una costura de fundido cruzado (especialmente en películas oscuras), al razonar sobre por qué una caída de opacidad de transición se transparenta, o al verificar la mecánica del lado del renderizado de cómo se mezclan los envoltorios de escenas superpuestos. Cubre el fondo de escenario opaco (#root...

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

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

Más skills de heygen-com

hyperframes-audio
heygen-com
Use when audio already placed in a HyperFrames composition needs to be mixed: a music bed that fights a voiceover (voiceover carve), effects on a track (EQ, compressor, limiter, gate, saturation, delay, reverb, chorus, phaser, bitcrush), or automation envelopes drawn on a track's volume or any effect parameter. Don't use for sourcing or generating audio — finding BGM, SFX, or making a voiceover is `/media-use`. Don't use for clip timing or track layout, which is `/hyperframes-core`.
hyperframes-cli
heygen-com
HyperFrames CLI dev loop — `npx hyperframes` for scaffolding (init), validation (lint, inspect), preview, render, and environment troubleshooting (doctor, browser, info, upgrade). Use when running any of these commands or troubleshooting the HyperFrames build/render environment. For asset preprocessing commands (`tts`, `transcribe`, `remove-background`), invoke the `hyperframes-media` skill instead.
developmenttestingapi
hyperframes-animation
heygen-com
Todo el conocimiento de animación para HyperFrames: reglas de movimiento atómico, planos de escenas multifásicas, transiciones de escenas, técnicas más amplias de diseño de movimiento Y los siete adaptadores de tiempo de ejecución (GSAP predeterminado, más Lottie, Three.js, Anime.js, keyframes CSS, Web Animations API, TypeGPU). Úselo para cualquier tarea de movimiento o animación: elija de 2 a 4 reglas y componga, o cargue un plano, o consulte la API específica del tiempo de ejecución (por ejemplo, suavizados de GSAP / reproductor de Lottie / mezclador de Three.js). Nativo de HyperFrames: línea de tiempo única en pausa, seguro de búsqueda,...
creativedevelopmentdesign
hyperframes-core
heygen-com
Contrato de composición HTML de HyperFrames. Úsalo para estructura de composición, atributos de datos, clips, pistas, subcomposiciones, variables, reproducción de medios, reglas de renderizado deterministas y validación de proyectos mínimos renderizables.
developmentmediacreative
hyperframes-media
heygen-com
Preprocesamiento de activos para composiciones HyperFrames — TTS multiproveedor (HeyGen / ElevenLabs / Kokoro local), BGM multiproveedor (Google Lyria / MusicGen local), transcripción Whisper, eliminación de fondo y creación de subtítulos. Úselo para npx hyperframes tts, bgm, transcribe, remove-background, selección de voz/proveedor, indicación de estado de ánimo musical, subtítulos / letras / karaoke / estilo por palabra.
mediaaudiovideo
hyperframes-registry
heygen-com
Instalar y conectar bloques y componentes del registro en composiciones de HyperFrames. Usar al ejecutar hyperframes add, al instalar un bloque o componente, al conectar un elemento instalado en index.html, o al trabajar con hyperframes.json. Cubre el comando add, ubicaciones de instalación, conexión de subcomposiciones de bloques, fusión de fragmentos de componentes, descubrimiento del registro y creación de un nuevo bloque o componente para contribuir upstream (idea → andamiaje → validación → PR).
developmentapicode-review
general-video
heygen-com
Úsalo como respaldo para la creación de composiciones de video HTML con HyperFrames personalizadas cuando ningún flujo de trabajo especializado se ajuste. Cubre piezas largas o de múltiples escenas, reels de marca o sizzle, montajes, tarjetas de título, pósters en movimiento de larga duración, bucles estáticos y composiciones libres de cualquier duración o formato. No es para promociones de productos comercializados (product-launch-video), captura general de sitio web a video (website-to-video), explicadores de temas (faceless-explainer), videos de PR de GitHub (pr-to-video), subtitulado de material existente...
videocreativemedia
motion-graphics
heygen-com
Úsalo cuando el usuario quiera un motion graphic breve y centrado en el diseño, donde el movimiento sea el mensaje: tipografía cinética, conteo de estadísticas o números, impacto de gráfico/dato, sting de logotipo, bloque de marca, tercio inferior, llamada, superposición social, titular animado/tweet/noticia, póster en movimiento o resalte rápido de página capturada. Generalmente de menos de 10 segundos y hasta ~30 segundos, sin arco narrativo, locución ni sujeto de acción real. Puede renderizarse en MP4 o superposición transparente. No es para piezas más largas, de múltiples escenas, narradas o de reel de marca...
creativevideodesign