Communitygithub.com

szeproka/hyperframes-registry

面取りされた直方体のチェーンが進行波に乗って回転しながら、コンテンツカルーセルとして表示されます。HyperFramesブロック、1920×1080、6.666666666666667秒、40変数。

hyperframes-registry とは?

これはHyperFramesプラットフォーム向けの3Dカルーセルコンポジション「Cuboid Carousel」です。面取りされた角柱状のカードが一塊となって画面右から飛来し、個々に回転をずらしながら巡航、ヒーローカードの強調表示後に左へ退出する演出を提供します。40個の変数によりジオメトリ、マテリアル、ライティング、シャドウ、背景、カメラ、各フェーズの時間とイージングを細かく制御でき、独自のコンテンツをJSONで注入することも可能です。GSAPによるタイムライン管理と、任意のフレームを時間の関数として正確に再現するシークセーフ設計により、HyperFrames Studioでの編集やレンダリングが安定して行えます。WebGLレンダラーを使用し、カスタムカメラアニメーションや手持ち感のパラメータも備えています。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

直方体カルーセル (Cuboid Carousel)

丸みを帯びた面取り直方体がカードコンテンツを乗せて、ひとつの剛体グループとして右から飛来し、直方体ごとに回転のずれをもたせて巡航、ヒーロー位置で減速・停止し、その後左へ退出します。間隔は直方体の寸法と、到達可能な最大X方向の半分の広がりから計算されるため、直方体同士が重なることはありません。40個の変数がDialKitの元のスキーマ(ジオメトリ、マテリアル、ライト、シャドウ、背景、カメラ、および各セグメントの時間とイージング)を保持します。カードは組み込みリストまたはJSON変数から取得します。

コンポジションID: cuboid-carousel。30fps、1920×1080における再生時間は6.666666666666667秒です。

ファイル

  • 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カメラ · セトルフレーム(30fps) 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 カスタムイベントで再同期します。すべてのフレームは時間の閉じた関数です(シード付きPRNGのみ使用、rAFループなし、Date.now不使用)。
  • レンダラー: WebGL、GSAP、Canvas 2D、PMREM、シャドウマップ。1インスタンスあたりのメモリ予算は約350MB。一度に1つだけ実行してください。
  • 外部ランタイム依存関係: ./assets/three.module.min.js、./assets/addons/。
  • Webフォント(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.

関連スキル