seam-craft

Doktrin kebenaran render untuk sambungan antar-scene dalam video peluncuran HyperFrames — prasyarat yang membuat transisi tersusun dengan benar di timeline master. Muat saat merakit timeline master / index.html, saat kilatan putih muncul pada sambungan potongan atau crossfade (terutama pada film gelap), saat menalar mengapa penurunan opasitas transisi terlihat menembus, atau saat memverifikasi mekanika sisi render tentang bagaimana pembungkus scene yang tumpang tindih menyatu. Mencakup dasar panggung yang buram (#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).

Lebih banyak skill dari 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
Semua pengetahuan animasi untuk HyperFrames — aturan gerak atomik, cetak biru adegan multi-fase, transisi adegan, teknik desain gerak yang lebih luas, DAN tujuh adaptor runtime (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Gunakan untuk tugas gerak atau animasi apa pun: pilih 2-4 aturan dan susun, atau muat cetak biru, atau cari API khusus runtime (mis. GSAP eases / Lottie player / Three.js mixer). Asli HyperFrames: linimasa jeda tunggal, aman-cari,...
creativedevelopmentdesign
hyperframes-core
heygen-com
Kontrak komposisi HTML HyperFrames. Digunakan untuk struktur komposisi, atribut data, klip, trek, sub-komposisi, variabel, pemutaran media, aturan render deterministik, dan validasi proyek minimal yang dapat dirender.
developmentmediacreative
hyperframes-media
heygen-com
Prapemrosesan aset untuk komposisi HyperFrames — TTS multi-penyedia (HeyGen / ElevenLabs / Kokoro lokal), BGM multi-penyedia (Google Lyria / MusicGen lokal), transkripsi Whisper, penghapusan latar belakang, dan pembuatan takarir. Gunakan untuk npx hyperframes tts, bgm, transcribe, remove-background, pemilihan suara/penyedia, pengaturan suasana musik, takarir / subtitle / lirik / karaoke / gaya per kata.
mediaaudiovideo
hyperframes-registry
heygen-com
Pasang dan hubungkan blok serta komponen registry ke dalam komposisi HyperFrames. Gunakan saat menjalankan hyperframes add, memasang blok atau komponen, menghubungkan item yang sudah terpasang ke index.html, atau bekerja dengan hyperframes.json. Mencakup perintah add, lokasi pemasangan, penghubungan sub-komposisi blok, penggabungan cuplikan komponen, penemuan registry, serta pembuatan blok atau komponen baru untuk kontribusi ke hulu (ide → kerangka → validasi → PR).
developmentapicode-review
general-video
heygen-com
Gunakan sebagai cadangan untuk pembuatan komposisi video HTML HyperFrames kustom ketika tidak ada alur kerja khusus yang cocok. Mencakup potongan panjang atau multi-adegan, reel merek/sizzle, montase, kartu judul, poster gerak dengan durasi panjang, loop statis, dan komposisi bebas dalam format atau panjang apa pun. Bukan untuk promosi produk yang dipasarkan (product-launch-video), tangkapan video dari situs web umum (website-to-video), penjelas topik (faceless-explainer), video PR GitHub (pr-to-video), pemberian teks pada rekaman yang sudah ada...
videocreativemedia
motion-graphics
heygen-com
Gunakan saat pengguna menginginkan grafik gerak pendek berbasis desain di mana gerakan adalah pesannya: tipografi kinetik, hitungan angka atau statistik, pukulan grafik data, logo sting, penguncian merek, sepertiga bawah, callout, overlay sosial, judul/cuitan/berita animasi, poster gerak, atau sorotan halaman yang ditangkap cepat. Biasanya di bawah 10 detik dan hingga ~30 detik, tanpa alur narasi, sulih suara, atau subjek aksi langsung. Dapat dirender ke MP4 atau overlay transparan. Bukan untuk karya yang lebih panjang, multi-adegan, bernarasi, atau potongan reel merek...
creativevideodesign