Communitygithub.com

szeproka/hyperframes-registry

Eine Kette von abgerundeten Quadern reitet auf einer Wanderwelle als Inhaltskarussell. HyperFrames-Block, 1920×1080, 6,666666666666667 s, 40 Variablen.

Was ist hyperframes-registry?

Der Skill "Cuboid Carousel" erstellt ein 3D-Karussell aus abgerundeten, abgeschrägten Quadern, die Karteninhalte präsentieren. Die Quader fliegen als starre Gruppe von rechts herein, rotieren während der Fahrt leicht versetzt, verlangsamen sich für eine Heldenposition und verlassen die Szene nach links. Der Abstand zwischen den Quadern wird automatisch aus ihren Abmessungen und der maximalen X-Ausdehnung berechnet, sodass Überlappungen vermieden werden. Der Skill bietet 40 anpassbare Variablen für Geometrie, Materialien, Beleuchtung, Schatten, Hintergrund, Kamera sowie alle Segmentdauern und Easing-Funktionen. Er ist für HyperFrames-Plattformen wie DialKit optimiert und kann über die Befehlszeile installiert und gerendert werden. Die Komposition läuft mit einer GSAP-Timeline, ist suchsicher und rendert jede Bildrate als Funktion der Zeit.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Quader-Karussell

Abgerundete, abgeschrägte Quader mit Karteninhalten fliegen als starre Gruppe von rechts herein, gleiten mit einer per-Quader-Rotationsstaffelung, verlangsamen sich zu einer Heldenposition und verlassen die Szene nach links. Der Abstand wird aus den Quaderabmessungen und der größten erreichbaren X-Halbausdehnung abgeleitet, sodass sich Quader niemals überlappen können. Vierzig Variablen tragen das ursprüngliche DialKit-Schema: Geometrie, Materialien, Lichter, Schatten, Hintergrund, Kamera und jede Segmentdauer und jedes Easing. Karten stammen aus der integrierten Liste oder einer JSON-Variable.

Kompositions-ID: cuboid-carousel. Dauer 6,666666666666667 s bei 30 fps, 1920×1080.

Dateien

  • 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)

Installation

Installieren mit npx hyperframes add cuboid-carousel; standardmäßig landen die obigen Dateien unter compositions/cuboid-carousel/. Anschließend den Block aus der Host-index.html einbinden:

<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>

Mit benutzerdefinierten Werten rendern, indem die Kompositionsdatei direkt angesprochen wird:

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

Variablen

Zur Laufzeit über window.__hyperframes.getVariables() ausgelesen; auf dem Kompositionsstamm als data-composition-variables deklariert (Attribut in einfachen Anführungszeichen, reines JSON).

idtypstandardlabel / bereich
cardsJsonstring""Inhalt · Karten JSON (optional, siehe CARDS im Quellcode)
heroCardnumber4Inhalt · Heldenkarte (1-basiert) 1–12 Schritt 1
countnumber8Inhalt · Anzahl der wiederholten Karten 1–12 Schritt 1
gapnumber0.01Layout · Zusätzlicher Abstand zwischen Quadern 0–1,5 Schritt 0,005
cuboidWidthnumber1.7Quader · Breite 0,3–5 Schritt 0,01
cuboidHeightnumber2.4Quader · Höhe 0,3–6 Schritt 0,01
cuboidDepthnumber0.14Quader · Tiefe 0,02–2 Schritt 0,01
cornerRadiusnumber0.105Quader · Eckradius 0–0,6 Schritt 0,005
bevelSizenumber0.03Quader · Fasenbreite (Kantenabschrägung) 0–0,3 Schritt 0,001
bevelThicknessnumber0.04Quader · Fasendicke 0–0,3 Schritt 0,001
smoothnessnumber32Quader · Glätte (Segmente) 1–32 Schritt 1
bodyColorcolor"#242424"Quader · Körperfarbe
roughnessnumber0.6Quader · Rauheit 0–1 Schritt 0,01
metalnessnumber0.4Quader · Metallizität 0–1 Schritt 0,01
heroScalenumber1Held · Isolierte Skalierung 1–1,6 Schritt 0,01
heroFillIntensitynumber0.55Held · Flächenlichtintensität 0–2 Schritt 0,05
heroExitXnumber288Held · Austritts-X-Rotationsgrad -720–720 Schritt 1
heroExitYnumber-234Held · Austritts-Y-Rotationsgrad -720–720 Schritt 1
heroExitZnumber198Held · Austritts-Z-Rotationsgrad -720–720 Schritt 1
ambientIntensitynumber0.35Lichter · Umgebungslichtintensität 0–4 Schritt 0,01
ambientColorcolor"#ffffff"Lichter · Umgebungslichtfarbe
topIntensitynumber3.1Lichter · Obere Lichtintensität 0–12 Schritt 0,05
topColorcolor"#ffffff"Lichter · Obere Lichtfarbe
bottomIntensitynumber2.15Lichter · Untere Lichtintensität 0–12 Schritt 0,05
bottomColorcolor"#ffcaad"Lichter · Untere Lichtfarbe
keyIntensitynumber5Lichter · Hauptlichtintensität 0–12 Schritt 0,05
keyColorcolor"#ffe9d6"Lichter · Hauptlichtfarbe
shadowRadiusnumber44.5Schatten · Weichheit bei Kartengröße 2048 0–50 Schritt 0,5
shadowMapSizenumber2048Schatten · Kartengröße 512–4096 Schritt 256
backdropcolor"#0b0d13"Hintergrund · Farbe
cameraFovnumber11Kamera · Anfängliches Sichtfeld 10–90 Schritt 0,5
cameraXnumber-1.65Kamera · Anfängliches X -20–20 Schritt 0,05
cameraYnumber8.5Kamera · Anfängliches Y -20–20 Schritt 0,05
cameraZnumber-8.508708Kamera · Anfängliches Z (Entfernung) -20–50 Schritt 0,1
cameraSettleFramenumber70Kamera · Beruhigungsframe (30 fps) 20–90 Schritt 1
handheldStrengthnumber1Kamera · Handkamera-Stärke 0–1 Schritt 0,05
cameraTargetFovnumber34Kamera-Ziel · Sichtfeld 10–90 Schritt 0,5
cameraTargetXnumber-7.25Kamera-Ziel · X -20–20 Schritt 0,05
cameraTargetYnumber1.15Kamera-Ziel · Y -20–20 Schritt 0,05
cameraTargetZnumber6.2Kamera-Ziel · Z 2–50 Schritt 0,1

Laufzeitvertrag

  • Eine pausierte GSAP-Timeline registriert als window.__timelines["cuboid-carousel"].
  • Neu-Synchronisation bei hf-seek CustomEvent; jeder Frame ist eine geschlossene Funktion der Zeit (nur gesäter PRNG, keine rAF-Schleifen, kein Date.now).
  • Renderer: WebGL, GSAP, Canvas 2D, PMREM, Schattenkarten. Budget ca. 350 MB pro Live-Instanz; immer nur eine Instanz gleichzeitig ausführen.
  • Externe Laufzeitabhängigkeiten: ./assets/three.module.min.js, ./assets/addons/.
  • Webschriftarten von Google Fonts: Inter.

Bearbeitungsregeln (aus dem Quellprojekt)

  1. data-composition-variables als Attribut in einfachen Anführungszeichen mit normalem " JSON belassen. Niemals über das Studio-Design-Panel speichern.
  2. Kein <canvas> in statisches Markup setzen; zur Laufzeit erstellen.
  3. Jeden visuellen Zustand als Funktion von t belassen; Suchsicherheit ist das, was den Block renderbar macht.

Individual skills in this repo

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

Verwandte Skills