Communitygithub.com

Drama2557/4RealDigital-Video-Studio

超帧合成合约——构建一个可渲染项目。用于合成结构、`data-*` 时序属性、`class="clip"`、轨道、子合成、变量、框架拥有的媒体播放、确定性渲染规则和验证。也涵盖 Tailwind 项目和 STORYBOARD.md / SCRIPT.md 计划格式。编写合成 HTML 前请先阅读。

4RealDigital-Video-Studio 是什么?

HyperFrames Core 是一个用于基于 HTML 构建可渲染视频合成的技术规范。它定义了项目结构、时序属性、轨道系统以及框架管理的媒体播放等核心概念,确保所有视频合成具有可寻求、可预测和确定性的渲染行为。该技能特别强调非协商性规则:无运行时时钟,动画仅限于允许列表中的视觉属性,且所有 ID 必须在最终页面中唯一。它支持独立项目和子合成,并提供了详细的参考文档索引,包括最小骨架、合成模式、Tailwind 集成以及故事板/剧本计划格式。开发者必须严格遵循这些约定,以避免静默布局错误和 lint 验证失败。该技能与 `hyperframes-animation`、`hyperframes-creative` 和 `hyperframes-cli` 等兄弟技能配合使用,共同构成完整的 HyperFrames 视频生成工作流。

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

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

HyperFrames 核心

HyperFrames 从 HTML 渲染视频。合成是一个 HTML 文件,其 DOM 使用 data-* 属性声明时序,动画运行时是可寻求的,媒体播放由框架管理。

本技能是技术合同——如何构建一个 hyperframes 项目。下文是构建指南;每个主题的详细信息位于 references/ 中(索引在下一个页面),按需阅读。其他问题位于兄弟领域技能中——hyperframes-animation、hyperframes-creative、media-use、hyperframes-cli、hyperframes-registry。/hyperframes 中的能力映射说明了每个技能涵盖的内容。

参考

文件阅读目的…
references/minimal-composition.md从最小的可渲染合成骨架开始
references/composition-patterns.md选择整体式与模块式;构建模块式 index.html 结构;选择一个子合成原型
references/data-attributes.md查找任何 data-*(根 / 片段 / 子合成宿主 / 遗留别名);使用 class="clip"
references/tracks-and-clips.md选择 data-track-index,处理同轨道重叠 / z-index,将片段相对于另一个片段计时
references/sub-compositions.md连接子合成(宿主属性、<template>、实例变量)并在其内部制作动画
references/variables-and-media.md声明变量;放置 <video>/<audio>,设置音量,修剪
references/determinism-rules.md构建可寻求时间线;确定性禁令;可动画属性允许列表;布局 / 文本适配
references/full-screen-motion.md使用共享背景创作全帧动画
references/storyboard-format.md编写 STORYBOARD.md 计划(+ 解析清单)
references/review-loop.md在活动看板上运行计划 → 草图 → 构建审查环节——所有故事板规划工作流共享
references/production-loop.md将批准的计划转化为已交付的视频——阶段依赖关系(音频、帧、合成、转场、字幕、验证、交付)自由格式构建紧随其后
references/brief-contract.md简报的基本规则——模式推导(协作 / 自主)、共享字段注册表、问题不变量(提问本身位于 /hyperframes → 意图层)
references/brief-format.md编写 BRIEF.md——工作流的 Setup 编写且每个后续步骤读取的确认意图文档
references/script-format.md编写可选的 SCRIPT.md 锁定叙述
references/subagent-dispatch.md将子代理分发动词(并行扇出 / 后台 / 等待)映射到您的框架
references/frame-worker-core.md共享的帧工作者角色合同——每个叙事工作流的数据包构建器会将其预先添加到该工作流的 sub-agents/frame-worker.md 增量中
references/tailwind.md在 Tailwind v4 项目中工作(init --tailwind;运行时合同与 Studio 的 v3 不同)

有关动画运行时细节(GSAP API、Lottie、Three.js 等),请参阅 hyperframes-animation → adapters/<runtime>.md。

构建合成

两种根形式(不可互换)

  • 独立(顶级 index.html)——根 <div data-composition-id="…"> 直接位于 <body> 中,没有 <template> 包装(包装会隐藏所有内容并破坏渲染)。
  • 子合成(通过 data-composition-src 加载)——根必须包裹在 <template> 中。

⚠ 传输规则:运行时仅克隆 <template> 内容;外部所有内容(包括 <head> 样式/脚本)均被丢弃——将 <style>/<script> 放入模板内部。 ⚠ 宿主 ID 规则:宿主插槽的 data-composition-id 必须完全等于内部模板的 data-composition-id以及 window.__timelines["<id>"] 键——没有 -mount/-slot/-host 后缀。

文件形状、宿主连接和预渲染检查清单 → references/sub-compositions.md。

根必须有尺寸(静默布局错误)

独立根需要一个显式的尺寸框(以 px 为单位的 width/height),并且向下一直到 height:100% 元素的每个祖先都必须有已解析的高度——否则 flex/100% 子元素会塌缩到 ~0 并且内容堆叠到左上角。不要仅仅依赖自动门控来捕捉这一点;检查快照。骨架 → references/minimal-composition.md。

一个暂停的时间线

每个合成注册恰好一个 gsap.timeline({ paused: true }) 在 window.__timelines["<id>"] 处(键 = 根 data-composition-id),在页面加载时同步构建。渲染持续时间 = 根 data-duration,而不是时间线长度。不要手动将子时间线嵌套到宿主中。完整合同(包括非 GSAP 运行时)→ references/determinism-rules.md + hyperframes-animation/adapters/。

首次 lint 陷阱(保证第一次构建失败)

lint确实会捕捉的两个规则,但仅能在事后——第一次就正确编写它们:

  • 根合成元素必须带有 data-start="0"(与 data-composition-id/data-width/data-height 一起);省略会导致 lint 失败,错误为 root_composition_missing_data_start。
  • 永远不要将 CSS 初始 transform 与 相同 属性上的 GSAP tween 配对——CSS 值与 tween 的起始值冲突,lint 会拒绝并报错 gsap_css_transform_conflict。使用 gsap.fromTo(el, { x: -40 }, { x: 0 }) 在 tween 内部设置初始状态,而不是使用 CSS transform: translateX(-40px)。

不可协商的规则(自动门控可能遗漏的静默错误)

在此列出;完整理由见链接的参考。不要违反:

  • 没有渲染时时钟 / 未设置种子的 Math.random / 网络 / 输入状态;没有 repeat: -1(使用有限计数)。→ determinism-rules.md
  • 仅动画化视觉属性允许列表中的属性;永远不要对 display 或原始 visibility 进行 tween。GSAP autoAlpha 和零持续时间时间线边界集合是唯一的可见性例外,并且仅适用于非片段元素或片段内的包装器。框架单独控制 .clip 可见性。不要在页面加载时对后期场景片段执行 gsap.set。→ determinism-rules.md
  • 正文中没有 <br>;变换后的元素必须是块级 + 有尺寸的;脉动的绝对定位装饰元素需要峰值间距。→ determinism-rules.md
  • <video>/<audio> 在任何嵌套深度下都能正常工作(包括在子合成 <template> 或包装器内);框架拥有播放权,并在媒体所在位置进行查找/解码。唯一的注意事项是时间线,而不是位置:子合成时间线无法动画化宿主根元素。→ variables-and-media.md
  • 每个 id 在组装后的页面中必须唯一;在子合成内部,使用合成 id 作为 id 前缀(#<id>-hero)。重复的 <video>/<img> id 会渲染为空白——生产器通过 getElementById 注入帧,跨文件重复会绕过 lint。→ composition-patterns.md
  • 全屏场景填充应放在完全出血的子元素上(position:absolute; inset:0),永远不要放在合成根本身——生产器的帧合成可能会丢弃根元素自身的 background(帧渲染为黑色),即使预览/snapshot 显示正确。→ composition-patterns.md

编辑现有合成

  • 先阅读文件。保留无关的时序、轨道、ID、变量、媒体路径。
  • 匹配现有的合成 ID 和时间线键。
  • 添加片段:选择不重叠的 data-track-index 或有意调整周围时序。
  • 任何合成元素上的 data-hidden 会在预览和渲染中同时隐藏它,覆盖其时间窗口;它是非破坏性/可逆的,由 Studio 时间线中的眼睛图标切换。
  • 添加子合成:在连接宿主之前验证其内部的 data-composition-id。

验证

使用 hyperframes-cli 获取命令详情

  • npx hyperframes check 通过(lint、运行时、布局、运动和对比度方面均无发现)
  • 带有子合成的项目:npx hyperframes snapshot --at <midpoints> 并检查每一帧
  • npx hyperframes preview 用于审查(用户可以在 Studio 时间线中编辑任何内容)
  • 仅在用户批准后执行 npx hyperframes render

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

相关技能