Orbit Card
Eine zentrierte Funktionskarte mit einem kreisförmigen Ausschnitt, der eine Punktkugel umrahmt. Die Karte kommt von rechts herein (0,25–1,80 s), verharrt mit einem leichten Wackeln und Tiefendrift, vollführt eine volle Umdrehung um das Kugelzentrum (gleichmäßig zwischen 4,97 und 5,97 s) und verlässt die Szene nach links (7,35–8,55 s). Die Kamerabewegung und die F-Curves der Karte werden aus dem genehmigten Blender-Rig mit 30 fps exportiert und interpoliert; die Kugel behält ihre eigene Translation und eine konstante Rotation. Titel, Beschreibung, Akzentfarbe und der Umlaufwinkel sind Variablen; 180° und 720° funktionieren ohne Anpassung der Keyframes.
Kompositions-ID: orbit-card. Dauer 10 s bei 30 fps, 1920×1080.
Dateien
orbit-card.html(3 KB)assets/Archivo-LICENSE.txt(4 KB)assets/Three-LICENSE.txt(1 KB)assets/archivo-regular.ttf(108 KB)assets/archivo-semibold.ttf(109 KB)assets/gsap-3.14.2.min.js(128 KB)assets/GSAP-NOTICE.txt(1 KB)assets/orbit-motion.js(59 KB)assets/orbit-scene.js(8 KB)assets/three.core.min.js(554 KB)assets/three.module.min.js(468 KB)
Installation
Installieren mit npx hyperframes add orbit-card; standardmäßig landen die obigen Dateien unter compositions/orbit-card/. Anschließend den Block in die host index.html einbinden:
<div
data-composition-id="orbit-card"
data-composition-src="compositions/orbit-card/orbit-card.html"
data-start="0"
data-duration="10"
data-track-index="1"
data-width="1920"
data-height="1080"
></div>
Mit benutzerdefinierten Werten rendern, indem die Kompositionsdatei direkt angesteuert wird:
npx --yes [email protected] render 'compositions/orbit-card/orbit-card.html' --variables '{"feature1Title":"Always in sync","feature1Desc":"Changes reach every screen the moment they happen."}'
Variablen
Zur Laufzeit über window.__hyperframes.getVariables() auslesbar; deklariert am Kompositionsstamm als data-composition-variables (einfach angegebenes Attribut, reines JSON).
| id | type | standard | label / bereich |
|---|---|---|---|
feature1Title | string | "Always in sync" | Kartentitel max. 28 Zeichen |
feature1Desc | string | "Changes reach every screen the moment they happen." | Kartenbeschreibung max. 110 Zeichen |
feature1Accent | color | "#4cc9ff" | Kartenakzent |
cardOrbitDegrees | number | 360 | Kartenumlaufgrad -36000–36000 Schritt 1 |
Laufzeitvertrag
- Eine pausierte GSAP-Timeline registriert als
window.__timelines["orbit-card"]. - Synchronisiert sich erneut beim
hf-seekCustomEvent; jeder Frame ist eine geschlossene Funktion der Zeit (nur gesäter PRNG, keine rAF-Schleifen, kein Date.now). - Renderer: GSAP.
- Externe Laufzeitabhängigkeiten: keine (werden lokal bereitgestellt).
- Lokale Schriften: assets/archivo-regular.ttf, assets/archivo-semibold.ttf.
Bearbeitungsregeln (aus dem Quellprojekt)
data-composition-variablesals einfach angegebenes Attribut mit normalem"JSON belassen. Niemals über das Design-Panel von Studio speichern.<canvas>nicht in statisches Markup setzen; zur Laufzeit erstellen.- Jeden visuellen Zustand als Funktion von t belassen; Seeksicherheit macht den Block renderbar.