Communitygithub.com

Drama2557/4RealDigital-Video-Studio

El contrato de composición HyperFrames: construye un proyecto renderizable. Úsalo para la estructura de composición, los atributos de temporización `data-*`, `class="clip"`, pistas, subcomposiciones, variables, reproducción multimedia gestionada por el framework, reglas de renderizado determinista y validación. También cubre proyectos Tailwind y los formatos de planificación STORYBOARD.md / SCRIPT.md. Léelo antes de escribir HTML de composición.

¿Qué es 4RealDigital-Video-Studio?

HyperFrames es un framework que renderiza video a partir de HTML, donde la composición se define mediante un archivo HTML cuyos elementos del DOM declaran la temporización con atributos `data-*`. Este skill detalla el contrato técnico para construir un proyecto HyperFrames, cubriendo desde la estructura básica (raíz independiente o subcomposición), el registro de una línea de tiempo pausada (`gsap.timeline({ paused: true })`), hasta reglas estrictas de determinismo que prohíben relojes en tiempo de render, `Math.random` sin semilla, repeticiones infinitas, o animar propiedades no permitidas como `display`. El framework gestiona la reproducción multimedia (video/audio) a cualquier profundidad de anidamiento, y garantiza que todo el contenido renderizado sea reproducible y buscable. Incluye referencias a otros skills complementarios como `hyperframes-animation` (para adaptadores GSAP, Lottie, Three.js) y `hyperframes-cli` para validación, vistas previas y renderizado final.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Drama2557/4RealDigital-Video-Studio/tree/HEAD/.agents/skills/hyperframes-core

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

HyperFrames Core

HyperFrames renderiza video a partir de HTML. Una composición es un archivo HTML cuyo DOM declara la temporización con atributos data-*, cuyo runtime de animación es buscable, y cuya reproducción multimedia es gestionada por el framework.

Este skill es el contrato técnico: cómo construir un proyecto hyperframes. El cuerpo que sigue es la guía de construcción; los detalles por tema están en references/ (índice a continuación), consúltalos según sea necesario. Otras cuestiones residen en los skills de dominio hermanos: hyperframes-animation, hyperframes-creative, media-use, hyperframes-cli, hyperframes-registry. El mapa de capacidades en /hyperframes indica qué cubre cada uno.

Referencias

ArchivoLéelo para…
references/minimal-composition.mdempezar desde el esqueleto de composición renderizable más pequeño
references/composition-patterns.mdelegir entre monolítico vs modular; estructurar un index.html modular; escoger un arquetipo de subcomposición
references/data-attributes.mdconsultar cualquier data-* (raíz / clip / host de subcomp / alias heredados); usar class="clip"
references/tracks-and-clips.mdelegir data-track-index, manejar solapamiento / z-index en la misma pista, temporizar un clip relativo a otro
references/sub-compositions.mdcablear una subcomposición (atributos del host, <template>, variables por instancia) y animar dentro de ella
references/variables-and-media.mddeclarar variables; colocar <video>/<audio>, ajustar volumen, recortar
references/determinism-rules.mdconstruir una línea de tiempo buscable; prohibiciones de determinismo; lista blanca de propiedades animables; ajuste de diseño / texto
references/full-screen-motion.mdcrear movimiento a pantalla completa con fondos compartidos
references/storyboard-format.mdredactar un plan STORYBOARD.md (+ el manifiesto analizado)
references/review-loop.mdejecutar los pases de revisión plan → boceto → construcción en un tablero activo — compartido por todo flujo de planificación con storyboard
references/production-loop.mdllevar un plan aprobado a un video entregado — las dependencias de etapa (audio, fotogramas, ensamblaje, transiciones, subtítulos, verificar, entregar) que una compilación libre sigue directamente
references/brief-contract.mdlas reglas básicas del brief: derivación de modo (colaborativo / autónomo), registro de campos compartidos, invariantes de preguntas (la propia pregunta reside en /hyperframes → la capa de intención)
references/brief-format.mdredactar BRIEF.md — el documento de intención confirmado que la Configuración de un flujo de trabajo escribe y que cada paso posterior lee
references/script-format.mdredactar el SCRIPT.md opcional de narración fijada
references/subagent-dispatch.mdmapear los verbos de envío de subagentes (fan-out paralelo / fondo / espera) a tu arnés
references/frame-worker-core.mdel contrato compartido del rol de frame-worker: cada constructor de paquetes narrativos lo antepone al delta sub-agents/frame-worker.md de ese flujo de trabajo
references/tailwind.mdtrabajar en un proyecto Tailwind v4 (init --tailwind; el contrato de ejecución difiere del v3 de Studio)

Para detalles específicos del runtime de animación (API GSAP, Lottie, Three.js, etc.) ve a hyperframes-animation → adapters/<runtime>.md.

Construir una composición

Dos formas raíz (no intercambiables)

  • Independiente (index.html de nivel superior) — el <div data-composition-id="…"> raíz se coloca directamente en <body>, sin envoltorio <template> (envolverlo oculta todo el contenido y rompe el renderizado).
  • Subcomposición (cargada mediante data-composition-src) — la raíz debe estar envuelta en <template>.

⚠ Regla de transporte: el runtime solo clona el contenido de <template>; todo lo que está fuera (incl. estilos/scripts de <head>) se descarta — coloca <style>/<script> dentro del template. ⚠ Regla de ID de host: el data-composition-id del slot del host debe coincidir exactamente con el data-composition-id del template interno y con la clave window.__timelines["<id>"] — sin sufijos -mount/-slot/-host.

Forma del archivo, cableado del host y lista de verificación previa al renderizado → references/sub-compositions.md.

La raíz debe tener tamaño (error de diseño silencioso)

La raíz independiente necesita un contenedor con tamaño explícito (width/height en px), y cada ancestro hasta un elemento con height:100% debe tener una altura resuelta — de lo contrario, un hijo flex/100% se colapsa a ~0 y el contenido se apila en la esquina superior izquierda. No confíes solo en las compuertas automáticas para detectar esto; inspecciona una captura. Esqueleto → references/minimal-composition.md.

Una línea de tiempo pausada

Cada composición registra exactamente una gsap.timeline({ paused: true }) en window.__timelines["<id>"] (clave = data-composition-id de la raíz), construida sincrónicamente al cargar la página. La duración del renderizado = data-duration de la raíz, no la longitud de la línea de tiempo. No anides manualmente sublíneas de tiempo en el host. Contrato completo (incl. runtimes no GSAP) → references/determinism-rules.md + hyperframes-animation/adapters/.

Errores comunes detectados en el primer lint (fallo garantizado en la primera compilación)

Dos reglas que lint sí detecta, pero solo después del hecho — escríbelas correctamente la primera vez:

  • El elemento raíz de la composición debe llevar data-start="0" (junto con data-composition-id/data-width/data-height); omitirlo hace que lint falle con root_composition_missing_data_start.
  • Nunca combines un transform CSS inicial con un tween de GSAP sobre la misma propiedad — el valor CSS y el inicio del tween entran en conflicto y lint lo rechaza con gsap_css_transform_conflict. Establece el estado inicial dentro del tween usando gsap.fromTo(el, { x: -40 }, { x: 0 }) en lugar de un CSS transform: translateX(-40px).

Reglas no negociables (errores silenciosos que las compuertas automáticas pueden pasar por alto)

Se muestran aquí; la justificación completa en la referencia enlazada. No las violes:

  • Sin relojes en tiempo de render / Math.random no seedeado / red / estado de entrada; sin repeat: -1 (usa un recuento finito). → determinism-rules.md
  • Anima solo la lista blanca de propiedades visuales; nunca apliques tweens a display o visibility sin procesar. autoAlpha de GSAP y los límites de línea de tiempo de duración cero son las únicas excepciones de visibilidad, y solo en elementos que no son clip o envoltorios dentro de un clip. El framework controla por sí solo la visibilidad de .clip. No uses gsap.set en clips de escenas posteriores al cargar la página. → determinism-rules.md
  • Sin <br> en el texto del cuerpo; los elementos transformados deben ser de nivel bloque y tener tamaño; los decorativos absolutos pulsantes necesitan espacio libre máximo. → determinism-rules.md
  • <video>/<audio> funcionan a cualquier profundidad de anidamiento (incluso dentro de un <template> o envoltorio de subcomp); el framework gestiona la reproducción y busca/decodifica medios dondequiera que estén. La única salvedad son las líneas de tiempo, no la colocación: una línea de tiempo de subcomp no puede animar elementos raíz del host. → variables-and-media.md
  • Cada id debe ser único en la página ensamblada; dentro de una subcomp, prefija los ids con el id de composición (#<id>-hero). Los ids duplicados de <video>/<img> se renderizan en blanco — el productor inyecta fotogramas mediante getElementById, y los duplicados entre archivos pasan desapercibidos para lint. → composition-patterns.md
  • Un relleno de escena a pantalla completa va en un hijo de sangría completa (position:absolute; inset:0), nunca en la raíz de la composición misma — la composición de fotogramas del productor puede eliminar el background propio del elemento raíz (el fotograma se renderiza negro) aunque la vista previa/snapshot lo muestren correctamente. → composition-patterns.md

Editar composiciones existentes

  • Lee primero los archivos. Conserva la temporización, pistas, IDs, variables, rutas de medios no relacionadas.
  • Coincide con los IDs de composición y claves de línea de tiempo existentes.
  • Añadir un clip: elige un data-track-index que no se solape o ajusta intencionalmente la temporización circundante.
  • data-hidden en cualquier elemento de la composición lo oculta TANTO en vista previa como en renderizado, anulando su ventana de tiempo; es no destructivo/reversible y se alterna mediante el icono de ojo de la línea de tiempo de Studio.
  • Añadir una subcomposición: verifica su data-composition-id interno antes de cablear el host.

Validación

Usa hyperframes-cli para detalles de comandos

  • npx hyperframes check pasa (0 hallazgos en lint, runtime, diseño, movimiento y contraste)
  • Proyectos con subcomposiciones: npx hyperframes snapshot --at <midpoints> y revisa visualmente cada fotograma
  • npx hyperframes preview para revisión (el usuario puede editar cualquier cosa en la línea de tiempo de Studio)
  • npx hyperframes render solo después de la aprobación del usuario

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Drama2557/4RealDigital-Video-Studio

Overlay doctrine for the embedded-captions workflow — the caption MODEL (drop / rail / embed) and the rule that captions are an OVERLAY composited on top of the film, never a reserved bottom band you shift content up to avoid. Load when adding captions/subtitles to a talking-head or launch video, when deciding whether a phrase should be dropped, ride the verbatim rail, or be promoted to a scarce embedded climax, when laying out a composition that will carry captions (do NOT reserve a keep-out band), or when centering a composition on the true frame center under captions. Quotes the rail+embed model from embedded-captions and constraint #13 (captions overlay, keep-out band retired) from the product-launch-video scene agent. Applies ON TOP of embedded-captions.

Drama2557/4RealDigital-Video-Studio

Turn a weekly changelog .md into a finished branded changelog video (square 1080, ~45-60s, Annie VO, animated brand background, mock-UI visualizations, lowkey captions). Use when the user provides a changelog/digest markdown and wants the weekly video, or says "changelog video". Self-contained — fonts, background, lexicon, and scripts ship in this skill.

Drama2557/4RealDigital-Video-Studio

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

Drama2557/4RealDigital-Video-Studio

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet `anchor` rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

Drama2557/4RealDigital-Video-Studio

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

Drama2557/4RealDigital-Video-Studio

Author or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-graphics instead for a short unnarrated motion-first unit, including an animated title. Route fresh creation through hyperframes before using this skill.

Drama2557/4RealDigital-Video-Studio

Use the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. Also use when diagnosing build or render failures. validate, inspect, and layout are deprecated aliases; use check. Covers local, HeyGen-hosted cloud, AWS Lambda, and Google Cloud Run rendering.

Drama2557/4RealDigital-Video-Studio

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.

Drama2557/4RealDigital-Video-Studio

Install, discover, and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add or hyperframes catalog, installing one item or every block matching a tag, wiring an installed item into index.html, or working with hyperframes.json. Covers discovery, install locations, block sub-composition wiring, component snippet merging, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).

Drama2557/4RealDigital-Video-Studio

Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal.

Drama2557/4RealDigital-Video-Studio

GATEWAY — load FIRST before composing any HyperFrames animation or video. The high-level motion law that makes a multi-scene video feel like ONE continuous camera move instead of a stack of independently-animated slides. Covers the vector law (how you exit determines how you enter, incl. the Z scale-sign rule), the film's current, carrier elements, causal motion, the Seam Gate (build-gate enforcement), the ban on idle wobble (motion must PERFORM, not breathe), stillness-before-climax, and the sustained-motion routes. Routes to the low-level technique skills (cut-the-curve — the full catalog incl. waterfall entry + nudge curve, oversized-cursor, seam-craft). These rules SUPERSEDE generic / upstream motion guidance. [continuity, direction, vector, momentum, seam, transition, ease, performance, idle-motion, narrative-motion, film-grammar]

Drama2557/4RealDigital-Video-Studio

A short, design-led motion graphic where motion is the message — kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene → /general-video. Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Turn a music track (an audio file, a video to pull audio from, or a track generated from a mood brief) into a beat-synced video — lyric video, slideshow, or kinetic promo. The music drives all pacing; any user-supplied images/videos are cut onto the same beat grid, and a complete video needs zero assets. Narrated pieces → the input-matched workflow (see /hyperframes). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

Drama2557/4RealDigital-Video-Studio

Turn a GitHub pull request (a PR URL, owner/repo#N, or 'this PR' in a checked-out repo) into a code-change explainer video — changelog, feature reveal, fix, or refactor walkthrough built from the diff, commits, and files: the input is a code change, not a website. Not a product promo (/product-launch-video) or a no-PR topic explainer (/faceless-explainer). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

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.

Drama2557/4RealDigital-Video-Studio

Author a HyperFrames slideshow — a presentation, pitch deck, or interactive deck with discrete slides, fragment reveals, branching, hotspot navigation, and built-in presenter mode with speaker notes; also converts an existing page into a deck. Output is a navigable deck, not a rendered MP4. If the user didn't explicitly ask for a slideshow, confirm before authoring. Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on "graphic overlays", "on-screen graphics", "package / dress up my video". Not plain subtitles (/embedded-captions). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Agent skill / project related to launch or product demo video: Drama2557/4RealDigital-Video-Studio

Skills relacionados