用途:HyperFrames 把 HTML 当作视频的唯一事实来源。一个合成就是一个 HTML 文件,用 data-* 属性定义时间,用 GSAP 时间线做动画,用 CSS 控制外观;框架负责片段可见性、媒体播放与时间线同步。适合制作视频合成、动画、标题卡、叠加层、字幕、配音、音频响应视觉和场景转场。
主要能力:支持视频、音频、图片、div 与子合成片段;片段通过 id、data-start、data-duration、data-track-index 等属性编排,同轨片段不可重叠。子合成用 data-composition-src 加载,需包在 template 中;独立合成直接把 data-composition-id 的 div 放在 body。视频必须 muted playsinline,音频单独用 audio 元素。所有时间线以 paused: true 创建并注册到 window.__timelines。
使用方式:先确定视觉身份(读取 DESIGN.md、visual-style.md 或用户指定风格),再按“先布局后动画”原则写出最完整帧的静态 HTML+CSS,然后用 gsap.from() 做入场、gsap.to() 做退场。多场景必须使用转场,每个场景元素都要有入场动画,除最终场景外不得使用退场动画。完成后运行 npx hyperframes lint 与 npx hyperframes validate,后者默认做 WCAG 对比度审计;还可用 animation-map.mjs 检查编排。
限制:禁止 Math.random()、Date.now() 等非确定性逻辑;不得动画 visibility、display 或调用媒体 play/pause/seek;不得使用 repeat: -1;时间线必须同步构建,不能放在 async、setTimeout 或 Promise 中;不得用 br 强制换行;字体由编译器嵌入。字幕、TTS、音频响应、CSS 高亮、排版与运动原则等细节见按需加载的 references 文件。具体收费、价格与平台支持暂未提供。