Skip to content

feat(registry): add 35 curated loop template components - #3818

Open
miga-heygen wants to merge 1 commit into
mainfrom
feat/loop-templates
Open

feat(registry): add 35 curated loop template components#3818
miga-heygen wants to merge 1 commit into
mainfrom
feat/loop-templates

Conversation

@miga-heygen

Copy link
Copy Markdown
Contributor

Summary

Adds 35 curated loop template components to the registry — one variant per family, hand-picked from a 249-component loop-template collection (95 motion families) generated by Miao Yang. Each block is a self-contained HyperFrames composition: a single paused GSAP timeline that recomputes every card transform from t, with parameters exposed through data-composition-variables (Media / Background / Appearance / Animation / Template options groups) and image1..N content slots defaulting to monochrome SVG placeholders.

Code-only — each item ships registry-item.json + <name>.html. No preview thumbnails/videos are included; this repo shouldn't carry binary preview assets.

Selected families

3D / spatial effects

  • loop-3d-1, loop-carousel3d-1, loop-globe-1, loop-orbit-1, loop-corridor, loop-tunnel, loop-vortexspin

Carousel / slider

  • loop-carousel-1, loop-coverflow, loop-wheel-1, loop-ring, loop-filmstrip

Card / deck mechanics

  • loop-deck-1, loop-stack-1, loop-cardtoss, loop-book-1, loop-flip-1, loop-fold, loop-shelf

Grid / layout

  • loop-grid-1, loop-bento-1, loop-field-1, loop-frames-1, loop-pages-1

Motion / kinetic

  • loop-marquee-1, loop-spiral-1, loop-spin-1, loop-swirl, loop-scale-1, loop-gravity-1, loop-parallax-1, loop-proximity-1, loop-flicker-1, loop-wipe-1, loop-stories-1

35 total.

Registry changes

  • registry/registry.json — 35 new hyperframes:block entries, kept alphabetically sorted within the block group (215 blocks total, up from 180).

Validation

  • node scripts/lint-registry-items.mjs → passed, 434 items, 0 errors.

Credit

Original 249-component collection authored by Miao Yang (miao.yang@heygen.com). This PR curates and imports a 35-item subset.

Note: there is a separate open draft PR (#3810) from the same source collection that imports all 249 blocks in one shot. This PR is an independent, smaller, code-only curated subset — flagging in case reviewers want to reconcile the two rather than merge both.

One variant per family, curated from a 249-component loop-template
collection generated by Miao Yang. Selection covers 24 well-developed
multi-variant families (marquee, carousel, 3d, deck, orbit, globe,
flicker, spiral, frames, flip, proximity, wheel, book, carousel3d,
grid, field, scale, spin, stack, stories, wipe, gravity, parallax,
pages) plus 11 best-in-class single-variant families (bento, corridor,
coverflow, fold, tunnel, filmstrip, ring, shelf, vortexspin, swirl,
cardtoss).

Code-only: each block ships registry-item.json + HTML composition,
no preview media. registry.json updated with all 35 entries, kept
alphabetically sorted within the hyperframes:block group.

Validation: scripts/lint-registry-items.mjs passed, 434 item(s), 0 errors.

Co-Authored-By: Miao Yang <miao.yang@heygen.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@miga-heygen
miga-heygen enabled auto-merge (squash) September 9, 2026 17:19
face(w, t, `rotateX(-90deg) translateZ(${h / 2}px)`, { ...edge(front), n: [0, 1, 0] });
for (const F of faces)
if (F.el.style.background.includes("repeating"))
F.el.style.backgroundImage = F.n[1] ? lines.replace("90deg", "90deg") : lines;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants