Communitygithub.com

heygen-com/hyperframes

Uma cadeia de cuboides biselados monta uma onda viajante como um carrossel de conteúdo. Bloco HyperFrames, 1920×1080, 6.666666666666667s, 40 variáveis.

O que é hyperframes?

O Cuboid Carousel é um bloco de animação 3D da plataforma HyperFrames que cria um carrossel de conteúdo com cuboides arredondados e biselados. Os cuboides voam do lado direito como um grupo rígido, cruzam com uma rotação escalonada por cuboide, desaceleram até uma parada heroica e saem pela esquerda. O espaçamento é calculado automaticamente a partir das dimensões dos cuboides para evitar sobreposições. Com 40 variáveis expostas, o bloco permite controle total sobre geometria, materiais, iluminação, sombras, plano de fundo, câmera e todos os segmentos de duração e easing, suportando cartas de conteúdo de uma lista interna ou de uma variável JSON. O bloco é compatível com WebGL, GSAP e Canvas 2D, e possui um contrato de tempo de execução que torna cada frame uma função fechada do tempo, permitindo seek-safety e renderização consistente. A instalação é feita via `npx hyperframes add cuboid-carousel` e a renderização pode ser personalizada com valores customizados.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/heygen-com/hyperframes/tree/main/registry/blocks/cuboid-carousel

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Carrossel de Cuboides

Cuboides arredondados e biselados, carregando conteúdo de cartões, voam da direita como um grupo rígido, cruzam com uma rotação escalonada por cuboide, desaceleram até uma parada heroica e saem pela esquerda. O espaçamento é derivado das dimensões dos cuboides e da maior meia-extensão X alcançável, garantindo que os cuboides nunca se sobreponham. Quarenta variáveis carregam o esquema DialKit original: geometria, materiais, luzes, sombras, plano de fundo, câmera e cada duração e easing de segmento. Os cartões vêm de uma lista interna ou de uma variável JSON.

ID da composição: cuboid-carousel. Duração 6.666666666666667 s a 30 fps, 1920×1080.

Arquivos

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

Instalação

Instale com npx hyperframes add cuboid-carousel; por padrão os arquivos acima são colocados em compositions/cuboid-carousel/. Em seguida, monte o bloco a partir do index.html do host:

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

Renderize com valores personalizados direcionando o arquivo de composição diretamente:

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

Variáveis

Lidas em tempo de execução via window.__hyperframes.getVariables(); declaradas na raiz da composição como data-composition-variables (atributo com aspas simples, JSON simples).

idtipopadrãorótulo / intervalo
cardsJsontexto""Conteúdo · JSON dos cartões (opcional, veja CARDS no código)
heroCardnúmero4Conteúdo · Cartão heroico (baseado em 1) 1–12 passo 1
countnúmero8Conteúdo · Contagem de cartões repetidos 1–12 passo 1
gapnúmero0.01Layout · Espaçamento extra entre cuboides 0–1.5 passo 0.005
cuboidWidthnúmero1.7Cuboide · Largura 0.3–5 passo 0.01
cuboidHeightnúmero2.4Cuboide · Altura 0.3–6 passo 0.01
cuboidDepthnúmero0.14Cuboide · Espessura (profundidade) 0.02–2 passo 0.01
cornerRadiusnúmero0.105Cuboide · Raio do canto 0–0.6 passo 0.005
bevelSizenúmero0.03Cuboide · Tamanho do bisel (chanfro da borda) 0–0.3 passo 0.001
bevelThicknessnúmero0.04Cuboide · Espessura do bisel 0–0.3 passo 0.001
smoothnessnúmero32Cuboide · Suavidade (segmentos) 1–32 passo 1
bodyColorcor"#242424"Cuboide · Cor do corpo
roughnessnúmero0.6Cuboide · Rugosidade 0–1 passo 0.01
metalnessnúmero0.4Cuboide · Metalicidade 0–1 passo 0.01
heroScalenúmero1Herói · Escala isolada 1–1.6 passo 0.01
heroFillIntensitynúmero0.55Herói · Intensidade da luz facial 0–2 passo 0.05
heroExitXnúmero288Herói · Graus de rotação X de saída -720–720 passo 1
heroExitYnúmero-234Herói · Graus de rotação Y de saída -720–720 passo 1
heroExitZnúmero198Herói · Graus de rotação Z de saída -720–720 passo 1
ambientIntensitynúmero0.35Luzes · Intensidade ambiente 0–4 passo 0.01
ambientColorcor"#ffffff"Luzes · Cor ambiente
topIntensitynúmero3.1Luzes · Intensidade do rig superior 0–12 passo 0.05
topColorcor"#ffffff"Luzes · Cor do rig superior
bottomIntensitynúmero2.15Luzes · Intensidade do rig inferior 0–12 passo 0.05
bottomColorcor"#ffcaad"Luzes · Cor do rig inferior
keyIntensitynúmero5Luzes · Intensidade do rig principal 0–12 passo 0.05
keyColorcor"#ffe9d6"Luzes · Cor do rig principal
shadowRadiusnúmero44.5Sombras · Suavidade no tamanho do mapa 2048 0–50 passo 0.5
shadowMapSizenúmero2048Sombras · Tamanho do mapa 512–4096 passo 256
backdropcor"#0b0d13"Fundo · Cor
cameraFovnúmero11Câmera · Campo de visão inicial 10–90 passo 0.5
cameraXnúmero-1.65Câmera · X inicial -20–20 passo 0.05
cameraYnúmero8.5Câmera · Y inicial -20–20 passo 0.05
cameraZnúmero-8.508708Câmera · Z inicial (distância) -20–50 passo 0.1
cameraSettleFramenúmero70Câmera · Quadro de estabilização (30 fps) 20–90 passo 1
handheldStrengthnúmero1Câmera · Intensidade do movimento de mão 0–1 passo 0.05
cameraTargetFovnúmero34Alvo da câmera · Campo de visão 10–90 passo 0.5
cameraTargetXnúmero-7.25Alvo da câmera · X -20–20 passo 0.05
cameraTargetYnúmero1.15Alvo da câmera · Y -20–20 passo 0.05
cameraTargetZnúmero6.2Alvo da câmera · Z 2–50 passo 0.1

Contrato de tempo de execução

  • Uma timeline GSAP pausada registrada como window.__timelines["cuboid-carousel"].
  • Re-sincroniza no CustomEvent hf-seek; cada quadro é uma função fechada do tempo (apenas PRNG seedado, sem loops rAF, sem Date.now).
  • Renderizador: WebGL, GSAP, Canvas 2D, PMREM, Mapas de sombra. Orçamento aproximado de 350 MB por instância ativa; execute uma de cada vez.
  • Dependências externas de tempo de execução: ./assets/three.module.min.js, ./assets/addons/.
  • Fontes da Web do Google Fonts: Inter.

Regras de edição (do projeto fonte)

  1. Mantenha data-composition-variables como um atributo com aspas simples contendo JSON com aspas duplas ". Nunca salve através do painel Design do Studio.
  2. Não coloque <canvas> no markup estático; crie-o em tempo de execução.
  3. Mantenha cada estado visual como uma função de t; a segurança de busca (seek-safety) é o que torna o bloco renderizável.

Individual skills in this repo

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

general-video

>

heygen-com/animejs

Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML.

heygen-com/claude-design-hyperframes

Use when running inside Claude Design specifically. Produces a valid, brand-accurate HyperFrames video draft using pre-valid skeletons. For Claude Code / Cursor / Codex, use the `hyperframes` skill instead.

heygen-com/contribute-catalog

Author a new HyperFrames registry block (caption style, VFX block, transition, lower third) or component (text effect, overlay, snippet) and ship it as an upstream PR to the hyperframes repo. Use ONLY when the user wants to CONTRIBUTE to the public catalog — for in-project caption/transition authoring use the `hyperframes` skill, for installing existing registry items use the `hyperframes-registry` skill.

heygen-com/css-animations

CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.

heygen-com/gsap

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

heygen-com/hyperframes

Leaves sweep through the frame and part to reveal the headline. HyperFrames block, 1920×1080, 12s, 11 variables.

heygen-com/hyperframes

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline. Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

heygen-com/hyperframes

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

heygen-com/hyperframes

A single feature card orbits a dot sphere on approved Blender camera motion. HyperFrames block, 1920×1080, 10s, 4 variables.

heygen-com/hyperframes

A wireframe portal bursts open, the title comes through, then its letters swap into a second phrase. HyperFrames block, 1920×1080, 8s, 9 variables.

heygen-com/hyperframes

Glass shards fly in through fog and tile themselves into the headline. HyperFrames block, 1920×1080, 12.16s, 19 variables.

heygen-com/hyperframes

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

heygen-com/hyperframes

An orbiting camera follows an ice logo as it breaks apart, reforms into two text moments, and fades. HyperFrames block, 1920×1080, 22.5s, 216 variables.

heygen-com/hyperframes

name: embedded-captions

heygen-com/hyperframes

A tiled headline surface flips cell by cell under a sweeping depth field to reveal the rear headline. HyperFrames block, 1920×1080, 8s, 18 variables.

heygen-com/hyperframes

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

heygen-com/hyperframes

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

heygen-com/hyperframes

GATEWAY — load FIRST before composing any HyperFrames animation or video. The high-level motion law that makes a multi-scene video feel like ONE continuous camera move instead of a stack of independently-animated slides. Covers the vector law (how you exit determines how you enter, incl. the Z scale-sign rule), the film's current, carrier elements, causal motion, the Seam Gate (build-gate enforcement), the ban on idle wobble (motion must PERFORM, not breathe), stillness-before-climax, and the sustained-motion routes. Routes to the low-level technique skills (cut-the-curve — the full catalog incl. waterfall entry + nudge curve, oversized-cursor, seam-craft). These rules SUPERSEDE generic / upstream motion guidance. [continuity, direction, vector, momentum, seam, transition, ease, performance, idle-motion, narrative-motion, film-grammar]

heygen-com/hyperframes

Turn a weekly changelog .md into a finished branded changelog video (square 1080, ~45-60s, Annie VO, animated brand background, mock-UI visualizations, lowkey captions). Use when the user provides a changelog/digest markdown and wants the weekly video, or says "changelog video". Self-contained — fonts, background, lexicon, and scripts ship in this skill.

Habilidades Relacionadas