# Seam Craft > Doctrina de corrección de render para los seams de escena a escena en videos de lanzamiento HyperFrames: los prerrequisitos para que las transiciones compongan bien en el master timeline. Fuente: https://skillsagentes.com/skills/heygen-com/hyperframes/seam-craft Markdown: https://skillsagentes.com/skills/heygen-com/hyperframes/seam-craft.md Repositorio: https://github.com/heygen-com/hyperframes Autor: heygen-com Licencia: Apache-2.0 Actualizado: hace 2 meses Coste de contexto: 194 tok instalada, 1.2k tok al activarse, 1.2k tok con todos los archivos del bundle Bundle: 1 archivo, 5 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add heygen-com/hyperframes --skill seam-craft --agent claude-code # Cursor npx -y skills add heygen-com/hyperframes --skill seam-craft --agent cursor # Codex npx -y skills add heygen-com/hyperframes --skill seam-craft --agent codex # Gemini CLI npx -y skills add heygen-com/hyperframes --skill seam-craft --agent gemini # Windsurf npx -y skills add heygen-com/hyperframes --skill seam-craft --agent windsurf # Cline npx -y skills add heygen-com/hyperframes --skill seam-craft --agent cline ``` ## Qué hace - Aplica la doctrina de correcta composición de renders para las transiciones de escena a escena en el master timeline de HyperFrames - Explica el guard de fondo opaco (#root background) que evita el flash blanco en los cortes - Describe cómo el injector solapa wrappers, sostiene el frame final, hace ping-pong de tracks y estampa el gsap_template ## Cuándo usarla - Al ensamblar el master timeline / index.html - Cuando aparece un flash blanco en un corte o crossfade seam (especialmente en films oscuros) - Al razonar sobre por qué se ve un dip de opacidad en una transición - Al verificar la mecánica de render de cómo se mezclan los wrappers de escena solapados ## Cuándo no - No contiene el catálogo por transición individual (crossfade, push-slide, zoom-through, cut-the-curve, etc.) — eso está en el transition registry ## Qué la activa - "¿Por qué aparece un flash blanco en el corte entre escenas?" - "Necesito ensamblar el master timeline index.html sin errores de composición" - "¿Cómo solapa el injector los wrappers de escena en las transiciones?" - "Revisa por qué se ve el dip de opacidad detrás de las wrappers" ## Antes de instalar - Asume familiaridad con assemble-index.mjs, los wrappers #el- y el runtime de core/src (init.ts, lint rules). ## Archivos - SKILL.md — 5 KB ## SKILL.md Reproducido tal cual desde heygen-com/hyperframes bajo Apache-2.0. Esta sección es el documento original y está en inglés. # 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-`), 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-` wrapper `data-duration` by `duration_s` (holds its final frame — verified: `core/src/runtime/init.ts:1393-1410` external-slot branch). 2. Pulls `#el-` 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: | Token | Meaning | | ---------------------------------- | ------------------------------------------------------------------------ | | `__OLD__` | `"#el-"` — outgoing clip wrapper selector (quoted) | | `__NEW__` | `"#el-"` — 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). ## Dónde encaja - Categoría: [Vídeo y animación](https://skillsagentes.com/categorias/video.md) — Skills que generan, editan y animan vídeo: guion y storyboard, render, subtítulos y doblaje, y los modelos que lo producen. - Creador: [heygen-com](https://skillsagentes.com/creators/heygen-com.md) — 25 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Media Use](https://skillsagentes.com/skills/heygen-com/hyperframes/media-use.md): Agent Media OS: resuelve BGM, SFX, imágenes, iconos, logos, voz, gradación de color o LUTs en un archivo local o bloque listo para usar; genera, opera y reutiliza assets en proyectos HyperFrames. - [Pr To Video](https://skillsagentes.com/skills/heygen-com/hyperframes/pr-to-video.md): Convierte un pull request de GitHub (URL, owner/repo#N o 'este PR') en un video explicativo del cambio de código —changelog, feature, fix o refactor— construido a partir del diff, commits y archivos. - [Hyperframes](https://skillsagentes.com/skills/heygen-com/hyperframes/hyperframes.md): Punto de entrada obligatorio para crear, editar, animar o renderizar video, animaciones o motion graphics con HyperFrames, así como para inspeccionar, validar o publicar proyectos existentes. - [Product Launch Video](https://skillsagentes.com/skills/heygen-com/hyperframes/product-launch-video.md): Convierte una URL de producto o marketing, un guion pegado o un brief en un video de lanzamiento/promoción — promos SaaS, revelaciones de funciones, demos, lanzamientos de apps y empresas. - [Hyperframes Cli](https://skillsagentes.com/skills/heygen-com/hyperframes/hyperframes-cli.md): Usa el flujo de desarrollo de la CLI de HyperFrames: init, add, catalog, capture, lint, check, snapshot, compare, preview, render, publish, cloud, lambda, feedback, doctor y más; también para diagnosticar fallos de build o render. ## Skills relacionadas - [Captions Overlay](https://skillsagentes.com/skills/heygen-com/hyperframes/captions-overlay.md): Doctrina de overlay para captions embebidos: el modelo drop/rail/embed y la regla de que los captions son un overlay compuesto sobre el film, nunca una banda inferior reservada. - [Changelog Video](https://skillsagentes.com/skills/heygen-com/hyperframes/changelog-video.md): Convierte un changelog .md semanal en un video de marca terminado (cuadrado 1080, ~45-60s, voz de Annie, fondo animado, mock-UI, captions lowkey). Autocontenido: fuentes, fondo, léxico y scripts incluidos. - [Embedded Captions](https://skillsagentes.com/skills/heygen-com/hyperframes/embedded-captions.md): Añade subtítulos o captions a un vídeo de un solo sujeto hablando a cámara sin editar el metraje, usando el catálogo de 35 identidades visuales. - [Faceless Explainer](https://skillsagentes.com/skills/heygen-com/hyperframes/faceless-explainer.md): Convierte texto (artículo, notas, tema o brief) en un video explicativo faceless: sin sitio ni material que capturar, los visuales se inventan por escena (tipografía, gráficos abstractos, diagramas, data-viz). - [Figma](https://skillsagentes.com/skills/heygen-com/hyperframes/figma.md): Importa contenido de Figma a una composición de HyperFrames: assets renderizados, tokens de marca, componentes, secciones de storyboard reconstruidas como movimiento y shaders. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)