hyperframes-core

tarafından heygen-com

HyperFrames HTML kompozisyon sözleşmesi. Kompozisyon yapısı, veri nitelikleri, klipler, parçalar, alt kompozisyonlar, değişkenler, medya oynatımı, deterministik render kuralları ve minimum render edilebilir projelerin doğrulaması için kullanılır.

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

HyperFrames Core

HyperFrames renders video from HTML. A composition is an HTML file whose DOM declares timing with data-* attributes, whose animation runtime is seekable, and whose media playback is owned by the framework.

This skill is the technical contract — how to build one hyperframes project. The body below is the build guide; per-topic detail lives in references/ (index next), read on demand. Other concerns live in the sibling domain skills — hyperframes-animation, hyperframes-creative, media-use, hyperframes-cli, hyperframes-registry. The capability map in /hyperframes says what each one covers.

References

FileRead it to…
references/minimal-composition.mdstart from the smallest renderable composition skeleton
references/composition-patterns.mdchoose monolithic vs modular; structure a modular index.html; pick a sub-comp archetype
references/data-attributes.mdlook up any data-* (root / clip / sub-comp host / legacy aliases); use class="clip"
references/tracks-and-clips.mdpick data-track-index, handle same-track overlap / z-index, time a clip relative to another
references/sub-compositions.mdwire a sub-composition (host attrs, <template>, per-instance vars) and animate inside it
references/variables-and-media.mddeclare variables; place <video>/<audio>, set volume, trim
references/determinism-rules.mdbuild a seekable timeline; determinism bans; the animatable-property allowlist; layout / text fit
references/full-screen-motion.mdauthor full-frame motion with shared backgrounds
references/storyboard-format.mdauthor a STORYBOARD.md plan (+ the parsed manifest)
references/review-loop.mdrun the plan → sketch → build review passes on a live board — shared by every storyboard-planning workflow
references/production-loop.mdtake an approved plan to a delivered video — the stage dependencies (audio, frames, assembly, transitions, captions, verify, deliver) a freeform build follows directly
references/brief-contract.mdthe brief's ground rules — mode derivation (collaborative / autonomous), shared field registry, question invariants (the asking itself lives in /hyperframes → the intent layer)
references/brief-format.mdauthor BRIEF.md — the confirmed intent document a workflow's Setup writes and every later step reads
references/script-format.mdauthor the optional SCRIPT.md locked narration
references/subagent-dispatch.mdmap subagent dispatch verbs (parallel fan-out / background / wait) to your harness
references/frame-worker-core.mdthe shared frame-worker role contract — each narrative workflow's packet builder prepends it to that workflow's sub-agents/frame-worker.md delta
references/tailwind.mdwork in a Tailwind v4 project (init --tailwind; runtime contract differs from Studio's v3)

For animation runtime specifics (GSAP API, Lottie, Three.js, etc.) go to hyperframes-animationadapters/<runtime>.md.

Building a composition

Two root forms (not interchangeable)

  • Standalone (top-level index.html) — root <div data-composition-id="…"> sits directly in <body>, no <template> wrapper (wrapping it hides all content and breaks rendering).
  • Sub-composition (loaded via data-composition-src) — root must be wrapped in <template>.

⚠ Transport rule: the runtime only clones <template> contents; everything outside (incl. <head> styles/scripts) is discarded — put <style>/<script> inside the template. ⚠ Host-id rule: the host slot's data-composition-id must exactly equal the inner template's data-composition-id and the window.__timelines["<id>"] key — no -mount/-slot/-host suffix.

File shape, host wiring, and the pre-render checklist → references/sub-compositions.md.

Root must be sized (silent layout bug)

The standalone root needs an explicit sized box (width/height in px), and every ancestor down to a height:100% element must have a resolved height — otherwise a flex/100% child collapses to ~0 and content piles into the top-left corner. Do not rely on automated gates alone to catch this; inspect a snapshot. Skeleton → references/minimal-composition.md.

One paused timeline

Each composition registers exactly one gsap.timeline({ paused: true }) at window.__timelines["<id>"] (key = root data-composition-id), built synchronously at page load. Render duration = root data-duration, not timeline length. Don't manually nest sub-timelines into the host. Full contract (incl. non-GSAP runtimes) → references/determinism-rules.md + hyperframes-animation/adapters/.

First-pass lint gotchas (a guaranteed first build failure)

Two rules that lint does catch, but only after the fact — write them right the first time:

  • The root composition element must carry data-start="0" (alongside data-composition-id/data-width/data-height); omitting it fails lint with root_composition_missing_data_start.
  • Never pair a CSS initial transform with a GSAP tween on the same property — the CSS value and the tween's start fight and lint rejects it with gsap_css_transform_conflict. Set the initial state inside the tween with gsap.fromTo(el, { x: -40 }, { x: 0 }) instead of a CSS transform: translateX(-40px).

Non-negotiable rules (silent bugs automated gates may miss)

Surfaced here; full rationale in the linked reference. Do not violate:

  • No render-time clocks / unseeded Math.random / network / input-state; no repeat: -1 (use a finite count). → determinism-rules.md
  • Animate only the visual-property allowlist; never tween display or raw visibility. GSAP autoAlpha and zero-duration timeline boundary sets are the only visibility exceptions, and only on non-clip elements or wrappers inside a clip. The framework alone controls .clip visibility. Do not gsap.set later-scene clips at page load. → determinism-rules.md
  • No <br> in body text; transformed elements must be block-level + sized; pulsing absolute decoratives need peak clearance. → determinism-rules.md
  • <video>/<audio> work at any nesting depth (including inside a sub-comp <template> or wrapper); the framework owns playback and seeks/decodes media wherever it lives. The one caveat is timelines, not placement: a sub-comp timeline can't animate host-root elements. → variables-and-media.md
  • Every id must be unique across the assembled page; inside a sub-comp, prefix ids with the composition id (#<id>-hero). Duplicate <video>/<img> ids render blank — the producer injects frames by getElementById, and cross-file dupes slip past lint. → composition-patterns.md
  • A full-screen scene fill goes on a full-bleed child (position:absolute; inset:0), never on the composition root itself — the producer's frame compositing can drop the root element's own background (the frame renders black) even though preview/snapshot show it correctly. → composition-patterns.md

Editing existing compositions

  • Read the files first. Preserve unrelated timing, tracks, IDs, variables, media paths.
  • Match existing composition IDs and timeline keys.
  • Adding a clip: pick a non-overlapping data-track-index or adjust surrounding timing intentionally.
  • data-hidden on any composition element hides it in BOTH preview and render, overriding its time window; it is non-destructive/reversible and toggled by Studio's timeline eye icon.
  • Adding a sub-composition: verify its internal data-composition-id before wiring the host.

Validation

Use hyperframes-cli for command details

  • npx hyperframes check passes (0 findings across lint, runtime, layout, motion, and contrast)
  • Projects with sub-compositions: npx hyperframes snapshot --at <midpoints> and eyeball each frame
  • npx hyperframes preview for review (the user can edit anything in Studio's timeline)
  • npx hyperframes render only after the user approves

heygen-com tarafından daha fazla skill

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
HyperFrames için tüm animasyon bilgisi — atomik hareket kuralları, çok aşamalı sahne şablonları, sahne geçişleri, geniş kapsamlı hareket tasarımı teknikleri VE yedi çalışma zamanı bağdaştırıcısı (varsayılan GSAP, ayrıca Lottie, Three.js, Anime.js, CSS anahtar kareleri, Web Animasyonları API'si, TypeGPU). Herhangi bir hareket veya animasyon görevi için kullanın: 2-4 kural seçip birleştirin, bir şablon yükleyin veya çalışma zamanına özgü API'yi (ör. GSAP yumuşatmaları / Lottie oynatıcı / Three.js miksajcı) sorgulayın. HyperFrames-native: tek duraklatılmış zaman çiz
creativedevelopmentdesign
hyperframes-media
heygen-com
HyperFrames kompozisyonları için varlık ön işleme — çoklu sağlayıcılı TTS (HeyGen / ElevenLabs / Kokoro yerel), çoklu sağlayıcılı BGM (Google Lyria / yerel MusicGen), Whisper transkripsiyonu, arka plan kaldırma ve altyazı yazarlığı. npx hyperframes tts, bgm, transcribe, remove-background, voice/provider seçimi, music-mood yönlendirmesi, captions / subtitles / lyrics / karaoke / per-word styling için kullanın.
mediaaudiovideo
hyperframes-registry
heygen-com
HyperFrames kompozisyonlarına kayıt blokları ve bileşenleri kurup bağlayın. hyperframes add çalıştırırken, bir blok veya bileşen kurarken, kurulu bir öğeyi index.html'e bağlarken veya hyperframes.json ile çalışırken kullanın. add komutunu, kurulum konumlarını, blok alt kompozisyon bağlantısını, bileşen snippet birleştirmeyi, kayıt keşfini ve yukarı akışa katkıda bulunmak için yeni bir blok veya bileşen yazmayı (fikir → iskelet → doğrulama → PR) kapsar.
developmentapicode-review
general-video
heygen-com
Hi̇çbir özelleşmiş iş akışı uymadığında, özel HyperFrames HTML video kompozisyonu oluşturma için yedek olarak kullanın. Daha uzun veya çok sahneli parçaları, marka/tanıtım reellerini, montajları, başlık kartlarını, uzun hareketli posterleri, statik döngüleri ve herhangi bir uzunluk veya formatta serbest kompozisyonları kapsar. Pazarlanan ürün tanıtımları (product-launch-video), genel web sitesinden videoya çekim (website-to-video), konu anlatımları (faceless-explainer), GitHub PR videoları (pr-to-video), mevcut görüntüleri altyazılama... için değildir.
videocreativemedia
motion-graphics
heygen-com
Kullanıcının kısa, tasarım odaklı ve hareketin mesajı ilettiği bir motion grafik istediğinde kullanılır: kinetik tipografi, istatistik veya sayı sayacı, grafik/veri görselleştirme vurgusu, logo animasyonu, marka birleşimi, alt üçlük, çağrı, sosyal katman, animasyonlu başlık/tweet/haber ögesi, hareketli poster veya hızlı yakalanmış sayfa vurgusu. Genellikle 10 saniyenin altında ve en fazla ~30 saniye olup, anlatı akışı, seslendirme veya canlı aksiyon öznesi içermez. MP4 veya şeffaf katman olarak işlenebilir. Daha uzun, çok sahneli, seslendirmeli veya marka
creativevideodesign
hyperframes-read-first
heygen-com
Video, animasyon, hareketli grafik, açıklayıcı video, başlık kartı, üst katman, altyazılı video, ürün tanıtımı, web sitesi videosu, PR veya değişiklik günlüğü videosu, veri montajı, hareketli poster veya HyperFrames HTML kompozisyonu oluşturma, yapma, üretme, düzenleme, canlandırma veya işleme talepleri için buradan başlayın. Kullanıcı HyperFrames'in bitmiş bir MP4/web videosu yazmasını veya işlemesini, bir iş akışı seçmesini veya ürün lansman videosu, yüzsüz açıklayıcı, web sitesinden videoya... arasında yönlendirme yapmasını istediğinde diğ
creativevideomedia
hyperframes-creative
heygen-com
HyperFrames videoları için animasyon d
creativedesignvideo