wireframe-portal-title
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWireframe Portal Title
线框门户标题
Extruded wireframe letterforms are built from the bundled Geist face with a TTF loader and polygon offsetting, then revealed through a portal burst whose chaos is a variable. A second beat swaps the letters into a replacement phrase with whole-word wrapping and auto type size, staggered with a tunable easing curve and settle glitch, with optional depth fog.
Composition id: . Duration 8 s at 30 fps, 1920×1080.
wireframe-portal-title挤出的线框字体字形由随附的 Geist 字体构建,使用 TTF 加载器和多边形偏移处理,然后通过一个门户爆发效果显现,其混沌程度是一个变量。第二拍将字母切换为替换短语,支持整词换行和自动字号,并使用可调缓动曲线和稳定毛刺效果进行交错,可选景深雾效。
合成 ID:。时长 8 秒,30 fps,1920×1080。
wireframe-portal-titleFiles
文件
- (63 KB)
wireframe-portal-title.html - (65 KB)
assets/fonts/Geist-Bold.ttf - (65 KB)
assets/fonts/Geist-Regular.ttf - (65 KB)
assets/fonts/Geist-SemiBold.ttf - (4 KB)
assets/fonts/Geist-OFL.txt
- (63 KB)
wireframe-portal-title.html - (65 KB)
assets/fonts/Geist-Bold.ttf - (65 KB)
assets/fonts/Geist-Regular.ttf - (65 KB)
assets/fonts/Geist-SemiBold.ttf - (4 KB)
assets/fonts/Geist-OFL.txt
Install
安装
Install with ; by default the files above land under . Then mount the block from the host :
npx hyperframes add wireframe-portal-titlecompositions/wireframe-portal-title/index.htmlhtml
<div
data-composition-id="wireframe-portal-title"
data-composition-src="compositions/wireframe-portal-title/wireframe-portal-title.html"
data-start="0"
data-duration="8"
data-track-index="1"
data-width="1920"
data-height="1080"
></div>Render with custom values by targeting the composition file directly:
sh
npx --yes hyperframes@0.8.12 render 'compositions/wireframe-portal-title/wireframe-portal-title.html' --variables '{"title":"BREAKTHROUGH","replacementPhrase":"Lets do this sir!"}'运行 安装;默认情况下上述文件会放置在 目录下。然后从宿主 中挂载该动画块:
npx hyperframes add wireframe-portal-titlecompositions/wireframe-portal-title/index.htmlhtml
<div
data-composition-id="wireframe-portal-title"
data-composition-src="compositions/wireframe-portal-title/wireframe-portal-title.html"
data-start="0"
data-duration="8"
data-track-index="1"
data-width="1920"
data-height="1080"
></div>通过直接指定合成文件并使用自定义值进行渲染:
sh
npx --yes hyperframes@0.8.12 render 'compositions/wireframe-portal-title/wireframe-portal-title.html' --variables '{"title":"BREAKTHROUGH","replacementPhrase":"Lets do this sir!"}'Variables
变量
Read at runtime via ; declared on the composition root as (single-quoted attribute, plain JSON).
window.__hyperframes.getVariables()data-composition-variables| id | type | default | label / range |
|---|---|---|---|
| string | | Title max 18 chars |
| string | | 3D replacement phrase (auto layout) |
| number | | Phrase transition duration (s) 0.65–2.9 step 0.05 |
| number | | Transition easing (1 gentle – 8 snap) 1–8 step 0.25 |
| number | | Letter settle glitch strength 0–4 step 0.05 |
| boolean | | Depth fog (early fade always on) |
| string | | Subtitle max 48 chars |
| color | | Accent |
| number | | Burst chaos (0-2) 0–2 step 0.01 |
运行时通过 读取;在合成根元素上以 声明(单引号属性,纯 JSON)。
window.__hyperframes.getVariables()data-composition-variables| id | type | default | label / range |
|---|---|---|---|
| string | | 标题最多 18 个字符 |
| string | | 3D 替换短语(自动布局) |
| number | | 短语过渡时长(秒) 0.65–2.9 步长 0.05 |
| number | | 过渡缓动(1 平缓 – 8 急促) 1–8 步长 0.25 |
| number | | 字母稳定毛刺强度 0–4 步长 0.05 |
| boolean | | 景深雾效(早期淡出始终开启) |
| string | | 副标题最多 48 个字符 |
| color | | 强调色 |
| number | | 爆发混沌 (0-2) 0–2 步长 0.01 |
Runtime contract
运行时约定
- One paused GSAP timeline registered as .
window.__timelines["wireframe-portal-title"] - Re-syncs on the CustomEvent; every frame is a closed-form function of time (seeded PRNG only, no rAF loops, no Date.now).
hf-seek - Renderer: three.js 0.181.2, GSAP 3.14.2, Canvas 2D, GLSL shaders, Post-processing, Seeded PRNG, Clipper. Budget roughly 350 MB per live instance; run one at a time.
- External runtime dependencies: ,
https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js,https://cdn.jsdelivr.net/npm/clipper-lib@6.4.2/clipper.js,https://cdn.jsdelivr.net/npm/three@0.181.2/build/three.module.js.https://cdn.jsdelivr.net/npm/three@0.181.2/examples/jsm/ - Local fonts: assets/fonts/Geist-Regular.ttf, assets/fonts/Geist-SemiBold.ttf, assets/fonts/Geist-Bold.ttf.
- 一个暂停的 GSAP 时间线,注册为 。
window.__timelines["wireframe-portal-title"] - 在 CustomEvent 上重新同步;每一帧都是时间的闭式函数(仅使用种子 PRNG,无 rAF 循环,无 Date.now)。
hf-seek - 渲染器:three.js 0.181.2,GSAP 3.14.2,Canvas 2D,GLSL 着色器,后处理,种子 PRNG,Clipper。每个实时实例预算法约 350 MB;一次运行一个。
- 外部运行时依赖:,
https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js,https://cdn.jsdelivr.net/npm/clipper-lib@6.4.2/clipper.js,https://cdn.jsdelivr.net/npm/three@0.181.2/build/three.module.js。https://cdn.jsdelivr.net/npm/three@0.181.2/examples/jsm/ - 本地字体:assets/fonts/Geist-Regular.ttf,assets/fonts/Geist-SemiBold.ttf,assets/fonts/Geist-Bold.ttf。
Editing rules (from the source project)
编辑规则(来自源项目)
- Keep a single-quoted attribute with plain
data-composition-variablesJSON. Never save it through Studio's Design panel." - Do not put in static markup; create it at runtime.
<canvas> - Keep every visual state a function of t; seek-safety is what makes the block renderable.
- 保持 为单引号属性,内部为纯
data-composition-variablesJSON。切勿通过 Studio 的 Design 面板保存它。" - 不要在静态标记中放置 ;在运行时创建它。
<canvas> - 保持每个视觉状态为 t 的函数;seek 安全性是使该动画块可渲染的关键。