Communitygithub.com

szeproka/hyperframes-registry

一串帶有斜角的長方體在行進波上組成內容旋轉木馬。HyperFrames 區塊,1920×1080,6.666666666666667 秒,40 個變數。

hyperframes-registry 是什麼?

這個技能是一個名為「Cuboid Carousel」的 HyperFrames 區塊,用於創建一個由多個帶有圓角斜角的長方體組成的內容輪播動畫。每個長方體攜帶卡片內容,以一個剛性群體從右側飛入,帶有每個長方體的旋轉交錯效果,減速到英雄卡片停留位置,然後從左側退出。長方體之間的間距是根據其尺寸和最大可達到的 X 半徑自動計算的,確保它們永遠不會重疊。此技能支援 HyperFrames 平台(可透過 CLI 命令 `npx hyperframes add cuboid-carousel` 安裝),並透過 40 個變數暴露了完整的 DialKit 架構,讓使用者可以全面控制幾何形狀、材質、燈光、陰影、背景、攝影機以及每個動畫階段的持續時間和緩動函數。它是基於 Three.js 和 GSAP 構建的,確保了流暢的 WebGL 渲染,並透過遵循「封閉形式時間函數」的設計原則來實現安全的時間跳轉。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/szeproka/hyperframes-registry/tree/HEAD/registry/blocks/cuboid-carousel

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Cuboid Carousel(長方體輪播)

帶有圓角斜角的長方體承載著卡片內容,以一個剛性群體從右側飛入,伴隨著每個長方體的旋轉交錯效果,減速到英雄卡片停留位置,然後從左側退出。間距是根據長方體尺寸和最大可達到的 X 半徑自動計算的,因此長方體永遠不會重疊。四十個變數完整承載了原始的 DialKit 架構:幾何形狀、材質、燈光、陰影、背景、攝影機以及每個階段的持續時間和緩動函數。卡片來自內建清單或 JSON 變數。

組合 ID:cuboid-carousel。持續時間 6.666666666666667 秒,30 fps,1920×1080。

檔案

  • cuboid-carousel.html (38 KB)
  • assets/Three-LICENSE.txt (1 KB)
  • assets/addons/environments/RoomEnvironment.js (5 KB)
  • assets/addons/utils/BufferGeometryUtils.js (36 KB)
  • assets/cuboid-motion.js (593 KB)
  • assets/gsap-3.14.2.min.js (128 KB)
  • assets/GSAP-NOTICE.txt (1 KB)
  • assets/three.core.min.js (554 KB)
  • assets/three.module.min.js (468 KB)

安裝

使用 npx hyperframes add cuboid-carousel 安裝;預設情況下,上述檔案會放置在 compositions/cuboid-carousel/ 目錄下。然後在主機 index.html 中掛載此區塊:

<div
  data-composition-id="cuboid-carousel"
  data-composition-src="compositions/cuboid-carousel/cuboid-carousel.html"
  data-start="0"
  data-duration="6.666666666666667"
  data-track-index="1"
  data-width="1920"
  data-height="1080"
></div>

透過直接指定組合檔案並使用自訂值進行渲染:

npx --yes [email protected] render 'compositions/cuboid-carousel/cuboid-carousel.html' --variables '{"cardsJson":"","heroCard":4}'

變數

在執行時期透過 window.__hyperframes.getVariables() 讀取;在組合根元素上以 data-composition-variables 屬性宣告(使用單引號包裹的屬性,純 JSON 格式)。

id類型預設值標籤 / 範圍
cardsJsonstring""內容 · 卡片 JSON(可選,請參閱原始碼中的 CARDS)
heroCardnumber4內容 · 英雄卡片(從1開始) 1–12 步長 1
countnumber8內容 · 重複卡片數量 1–12 步長 1
gapnumber0.01佈局 · 長方體之間的額外間隙 0–1.5 步長 0.005
cuboidWidthnumber1.7長方體 · 寬度 0.3–5 步長 0.01
cuboidHeightnumber2.4長方體 · 高度 0.3–6 步長 0.01
cuboidDepthnumber0.14長方體 · 厚度(深度) 0.02–2 步長 0.01
cornerRadiusnumber0.105長方體 · 圓角半徑 0–0.6 步長 0.005
bevelSizenumber0.03長方體 · 斜角大小(邊緣倒角) 0–0.3 步長 0.001
bevelThicknessnumber0.04長方體 · 斜角厚度 0–0.3 步長 0.001
smoothnessnumber32長方體 · 平滑度(分段數) 1–32 步長 1
bodyColorcolor"#242424"長方體 · 主體顏色
roughnessnumber0.6長方體 · 粗糙度 0–1 步長 0.01
metalnessnumber0.4長方體 · 金屬感 0–1 步長 0.01
heroScalenumber1英雄 · 單獨縮放比例 1–1.6 步長 0.01
heroFillIntensitynumber0.55英雄 · 面部光強度 0–2 步長 0.05
heroExitXnumber288英雄 · 退出 X 旋轉角度 -720–720 步長 1
heroExitYnumber-234英雄 · 退出 Y 旋轉角度 -720–720 步長 1
heroExitZnumber198英雄 · 退出 Z 旋轉角度 -720–720 步長 1
ambientIntensitynumber0.35燈光 · 環境光強度 0–4 步長 0.01
ambientColorcolor"#ffffff"燈光 · 環境光顏色
topIntensitynumber3.1燈光 · 頂部燈架強度 0–12 步長 0.05
topColorcolor"#ffffff"燈光 · 頂部燈架顏色
bottomIntensitynumber2.15燈光 · 底部燈架強度 0–12 步長 0.05
bottomColorcolor"#ffcaad"燈光 · 底部燈架顏色
keyIntensitynumber5燈光 · 主光燈架強度 0–12 步長 0.05
keyColorcolor"#ffe9d6"燈光 · 主光燈架顏色
shadowRadiusnumber44.5陰影 · 貼圖尺寸 2048 時的柔化程度 0–50 步長 0.5
shadowMapSizenumber2048陰影 · 貼圖尺寸 512–4096 步長 256
backdropcolor"#0b0d13"背景 · 顏色
cameraFovnumber11攝影機 · 初始視野 10–90 步長 0.5
cameraXnumber-1.65攝影機 · 初始 X 位置 -20–20 步長 0.05
cameraYnumber8.5攝影機 · 初始 Y 位置 -20–20 步長 0.05
cameraZnumber-8.508708攝影機 · 初始 Z 位置(距離) -20–50 步長 0.1
cameraSettleFramenumber70攝影機 · 穩定幀數(30 fps) 20–90 步長 1
handheldStrengthnumber1攝影機 · 手持穩定強度 0–1 步長 0.05
cameraTargetFovnumber34攝影機目標 · 視野 10–90 步長 0.5
cameraTargetXnumber-7.25攝影機目標 · X 位置 -20–20 步長 0.05
cameraTargetYnumber1.15攝影機目標 · Y 位置 -20–20 步長 0.05
cameraTargetZnumber6.2攝影機目標 · Z 位置 2–50 步長 0.1

執行時期合約

  • 一個暫停的 GSAP 時間軸,註冊為 window.__timelines["cuboid-carousel"]。
  • 在 hf-seek 自訂事件觸發時重新同步;每個影格都是時間的封閉形式函數(僅使用種子偽隨機數生成器,沒有 rAF 循環,沒有 Date.now)。
  • 渲染器:WebGL、GSAP、Canvas 2D、PMREM、陰影貼圖。每個實例約需 350 MB 記憶體;建議一次只執行一個。
  • 外部執行時期依賴:./assets/three.module.min.js,./assets/addons/。
  • 來自 Google Fonts 的網頁字型:Inter。

編輯規則(來自原始專案)

  1. 保持 data-composition-variables 為使用單引號包裹的屬性,並使用純 " JSON 格式。切勿透過 Studio 的設計面板儲存它。
  2. 不要在靜態標記中包含 <canvas>;應在執行時期動態建立。
  3. 保持每個視覺狀態為 t 的函數;時間跳轉安全性是此區塊可渲染的關鍵。

Individual skills in this repo

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

相關技能