Communitygithub.com

szeproka/hyperframes-registry

一个由平铺标题表面构成的区块,每个单元格在扫过的深度场下逐一翻转,以揭示后层的标题文字。HyperFrames 区块,1920×1080,8秒,18个变量。

hyperframes-registry 是什么?

这是一个名为 Code Slice Hero 的 HyperFrames 区块,它创建一个由方形平铺组成的表面,承载一个无缝的前景标题。一个虚拟光标扫过表面,附近的平铺会根据高斯深度场产生抬起和倾斜,只有与任一标题轮廓相交的单元格才会翻转,露出后层的标题。整个网格通过一次实例化的 WebGL 2 绘制调用完成,共享前后纹理对,并包含一个批处理的投影阴影通道。副本、文字大小和单元格大小相互独立,因此平铺不会拉伸。扫描方向、缓动强度、光标半径、衰减、深度、弹跳和阴影均可通过变量调节。该区块适用于在开发者工具(如 Claude Code、Cursor、Codex)中生成或修改合成内容,其渲染依赖 GSAP、Canvas 2D 和种子随机数生成器,确保每一帧都是时间的闭函数,从而支持精准的 seek 和重同步。

兼容平台~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/szeproka/hyperframes-registry/tree/HEAD/registry/blocks/code-slice-hero

在你喜欢的 AI 中提问

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

文档

Code Slice Hero

一个完整的方形平铺表面承载一条无缝的标题。一个虚拟光标扫过表面;附近的平铺响应其高斯深度场,产生抬起和倾斜,只有与任一标题轮廓相交的单元格会翻转,以露出后层标题。整个网格通过一次实例化的 WebGL 2 绘制调用完成,共享前后纹理对,并包含一个批处理的投影阴影通道。副本、文字大小和方形单元格大小相互独立,因此平铺永远不会拉伸。扫描方向、缓动强度、光标半径、衰减、深度、弹跳和阴影均为变量。

合成 ID:code-slice-hero。时长 8 秒,30 fps,1920×1080。

文件

  • code-slice-hero.html(24 KB)
  • assets/Geist-Bold.ttf(65 KB)
  • assets/Geist-OFL.txt(4 KB)
  • assets/gsap-3.14.2.min.js(128 KB)
  • assets/GSAP-NOTICE.txt(1 KB)
  • shadows.js(10 KB)
  • surface.js(8 KB)

安装

使用 npx hyperframes add code-slice-hero 安装;默认情况下,上述文件将放置在 compositions/code-slice-hero/ 目录下。然后,在主 index.html 中挂载区块:

<div
  data-composition-id="code-slice-hero"
  data-composition-src="compositions/code-slice-hero/code-slice-hero.html"
  data-start="0"
  data-duration="8"
  data-track-index="1"
  data-width="1920"
  data-height="1080"
></div>

通过直接指定合成文件并传入自定义值进行渲染:

npx --yes [email protected] render 'compositions/code-slice-hero/code-slice-hero.html' --variables '{"headline":"MAKE IT","reverseHeadline":"MATTER."}' 

变量

在运行时通过 window.__hyperframes.getVariables() 读取;在合成根元素上声明为 data-composition-variables(单引号属性,纯 JSON)。

| id | 类型 | 默认值 | 标签 / 范围 | | ------------------- | ------ | ----------------- | ------------------------------------------------- | -------------- | | headline | 字符串 | "MAKE IT" | 副本 · 前景标题最大 32 字符 | | reverseHeadline | 字符串 | "MATTER." | 副本 · 后层标题最大 32 字符 | | direction | 枚举 | "left-to-right" | 运动 · 扫描方向(left-to-right | right-to-left)| | sweepDuration | 数值 | 4.2 | 运动 · 扫描持续时间 2.6–4.5 步长 0.05 | | sweepEaseStrength | 数值 | 3 | 运动 · 扫描缓动强度 0–3 步长 0.05 | | flipDuration | 数值 | 0.75 | 运动 · 每个平铺翻转 0.65–1.65 步长 0.05 | | cursorRadius | 数值 | 210 | 光标 · 影响半径 160–480 步长 10 | | cursorFalloff | 数值 | 1.4 | 光标 · 影响衰减 0.4–3.5 步长 0.05 | | cursorDepth | 数值 | 80 | 光标 · 深度(向相机方向为正) -320–320 步长 10 | | tiltStrength | 数值 | 55 | 光标 · 拉动/倾斜强度 0–55 步长 1 | | noiseStrength | 数值 | 2 | 运动 · 有机变化 0–2 步长 0.05 | | flipBounce | 数值 | 0.15 | 运动 · 弹性翻转反弹 0–0.8 步长 0.05 | | cellSize | 数值 | 112 | 切片 · 方形单元格大小 24–120 步长 4 | | formationScale | 数值 | 1 | 切片 · 局部排列缩放 0.94–1 步长 0.001 | | fontSize | 数值 | 310 | 文字 · 最大尺寸 160–480 步长 5 | | behindColor | 颜色 | "#212121" | 表面 · 平铺后方背景 | | shadowStrength | 数值 | 0.19 | 表面 · 投射阴影强度 0–0.65 步长 0.01 | | shadowSoftness | 数值 | 4 | 表面 · 投射阴影柔化 0.5–4 步长 0.1 |

运行时约定

  • 一个暂停的 GSAP 时间线,注册为 window.__timelines["code-slice-hero"]。
  • 在 hf-seek 自定义事件上重新同步;每一帧都是时间的闭函数(仅使用种子随机数生成器,无 rAF 循环,无 Date.now)。
  • 渲染器:GSAP、Canvas 2D、种子随机数生成器。
  • 外部运行时依赖:无(本地提供)。
  • 本地字体:assets/Geist-Bold.ttf。

编辑规则(来自源项目)

  1. 保持 data-composition-variables 为单引号属性,内部使用纯 " JSON。切勿通过 Studio 的设计面板保存它。
  2. 不要在静态标记中放置 <canvas>;在运行时创建。
  3. 保持每个视觉状态为 t 的函数;seek 安全性是区块可渲染的关键。

Individual skills in this repo

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

相关技能