Files
hyperframes/registry/registry.json
T
48fcf4ada5 feat(registry): add morph-text component and text-effects catalog section (#1247)
* feat(gsap): add innerText support to GSAP inspector for counter animations (#1244)

Adds 'innerText' as a supported GSAP property so number roll-up animations
(count-up from 0 to some value) are visible and editable in the GSAP inspector
panel.

- Add 'innerText' to SUPPORTED_PROPS in gsapConstants.ts
- Add label 'Counter Value', tooltip, and step constraint (1) in
  gsapAnimationConstants.ts

The snap modifier that controls integer rounding is already preserved
verbatim via the EXTRAS_KEYS round-trip, so rounding behavior survives
edits without any additional UI changes.

Closes #1179

* feat(registry): add text-effects catalog section and morph-text component

Introduces a new "Text Effects" catalog section (below Effects) for text-focused visual components.

- Add `text-effects` BlockCategory to core registry types with violet color
- Add `text-effect` tag resolver in resolveBlockCategory (checked before generic `effect` tag)
- Tag caption-blend-difference, texture-mask-text, and morph-text with `text-effect`
- Update studio catalog order and color map to include text-effects
- Add morph-text component: gooey SVG threshold morph cycling through editable statements
  using GSAP seekable proxy pattern for deterministic/seekable rendering

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(registry): add morph-text preview video

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(registry): fix morph-text.html formatting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(catalog): add Text Effects section and morph-text page

Moves caption-blend-difference and texture-mask-text out of Effects into a new
"Text Effects" section below it. Adds morph-text component page with install
instructions and preview video.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(registry): add demo.html for morph-text catalog preview rendering

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(registry): address PR review feedback on morph-text and text-effects

- Restore `effect` tag on caption-blend-difference and texture-mask-text
  alongside `text-effect` so existing tag-equality searches/analytics still match
- Fix morphPause script fallback from "0.25" to "1.5" to match data attribute default
- Add Math.max(0, ...) guard to blur values (intent clarity)
- Add prefers-reduced-motion: skip morph and show first word statically
- Remove CATEGORY_ORDER record from useBlockCatalog; derive order from
  BLOCK_CATEGORIES array (single source of truth, no drift)
- Add comment to demo.html documenting its purpose (catalog preview script only)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Miguel Ángel <miguel.sierra@heygen.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 10:55:13 -07:00

488 lines
10 KiB
JSON

{
"$schema": "https://hyperframes.heygen.com/schema/registry.json",
"name": "hyperframes",
"homepage": "https://hyperframes.heygen.com",
"items": [
{
"name": "warm-grain",
"type": "hyperframes:example"
},
{
"name": "play-mode",
"type": "hyperframes:example"
},
{
"name": "swiss-grid",
"type": "hyperframes:example"
},
{
"name": "vignelli",
"type": "hyperframes:example"
},
{
"name": "decision-tree",
"type": "hyperframes:example"
},
{
"name": "kinetic-type",
"type": "hyperframes:example"
},
{
"name": "product-promo",
"type": "hyperframes:example"
},
{
"name": "nyt-graph",
"type": "hyperframes:example"
},
{
"name": "data-chart",
"type": "hyperframes:block"
},
{
"name": "us-map",
"type": "hyperframes:block"
},
{
"name": "us-map-bubble",
"type": "hyperframes:block"
},
{
"name": "us-map-hex",
"type": "hyperframes:block"
},
{
"name": "us-map-flow",
"type": "hyperframes:block"
},
{
"name": "world-map",
"type": "hyperframes:block"
},
{
"name": "spain-map",
"type": "hyperframes:block"
},
{
"name": "flowchart",
"type": "hyperframes:block"
},
{
"name": "logo-outro",
"type": "hyperframes:block"
},
{
"name": "grain-overlay",
"type": "hyperframes:component"
},
{
"name": "shimmer-sweep",
"type": "hyperframes:component"
},
{
"name": "grid-pixelate-wipe",
"type": "hyperframes:component"
},
{
"name": "texture-mask-text",
"type": "hyperframes:component"
},
{
"name": "vignette",
"type": "hyperframes:component"
},
{
"name": "caption-pill-karaoke",
"type": "hyperframes:component"
},
{
"name": "caption-neon-accent",
"type": "hyperframes:component"
},
{
"name": "caption-weight-shift",
"type": "hyperframes:component"
},
{
"name": "caption-emoji-pop",
"type": "hyperframes:component"
},
{
"name": "caption-editorial-emphasis",
"type": "hyperframes:component"
},
{
"name": "caption-parallax-layers",
"type": "hyperframes:component"
},
{
"name": "caption-glitch-rgb",
"type": "hyperframes:component"
},
{
"name": "caption-matrix-decode",
"type": "hyperframes:component"
},
{
"name": "caption-particle-burst",
"type": "hyperframes:component"
},
{
"name": "caption-texture",
"type": "hyperframes:component"
},
{
"name": "caption-clip-wipe",
"type": "hyperframes:component"
},
{
"name": "caption-kinetic-slam",
"type": "hyperframes:component"
},
{
"name": "caption-gradient-fill",
"type": "hyperframes:component"
},
{
"name": "caption-neon-glow",
"type": "hyperframes:component"
},
{
"name": "caption-highlight",
"type": "hyperframes:component"
},
{
"name": "caption-blend-difference",
"type": "hyperframes:component"
},
{
"name": "morph-text",
"type": "hyperframes:component"
},
{
"name": "instagram-follow",
"type": "hyperframes:block"
},
{
"name": "tiktok-follow",
"type": "hyperframes:block"
},
{
"name": "yt-lower-third",
"type": "hyperframes:block"
},
{
"name": "x-post",
"type": "hyperframes:block"
},
{
"name": "reddit-post",
"type": "hyperframes:block"
},
{
"name": "spotify-card",
"type": "hyperframes:block"
},
{
"name": "macos-notification",
"type": "hyperframes:block"
},
{
"name": "app-showcase",
"type": "hyperframes:block"
},
{
"name": "north-korea-locked-down",
"type": "hyperframes:block"
},
{
"name": "apple-money-count",
"type": "hyperframes:block"
},
{
"name": "vpn-youtube-spot",
"type": "hyperframes:block"
},
{
"name": "blue-sweater-intro-video",
"type": "hyperframes:block"
},
{
"name": "nyc-paris-flight",
"type": "hyperframes:block"
},
{
"name": "ui-3d-reveal",
"type": "hyperframes:block"
},
{
"name": "domain-warp-dissolve",
"type": "hyperframes:block"
},
{
"name": "ridged-burn",
"type": "hyperframes:block"
},
{
"name": "whip-pan",
"type": "hyperframes:block"
},
{
"name": "sdf-iris",
"type": "hyperframes:block"
},
{
"name": "ripple-waves",
"type": "hyperframes:block"
},
{
"name": "gravitational-lens",
"type": "hyperframes:block"
},
{
"name": "cinematic-zoom",
"type": "hyperframes:block"
},
{
"name": "chromatic-radial-split",
"type": "hyperframes:block"
},
{
"name": "glitch",
"type": "hyperframes:block"
},
{
"name": "swirl-vortex",
"type": "hyperframes:block"
},
{
"name": "thermal-distortion",
"type": "hyperframes:block"
},
{
"name": "flash-through-white",
"type": "hyperframes:block"
},
{
"name": "cross-warp-morph",
"type": "hyperframes:block"
},
{
"name": "light-leak",
"type": "hyperframes:block"
},
{
"name": "transitions-3d",
"type": "hyperframes:block"
},
{
"name": "transitions-blur",
"type": "hyperframes:block"
},
{
"name": "transitions-cover",
"type": "hyperframes:block"
},
{
"name": "transitions-destruction",
"type": "hyperframes:block"
},
{
"name": "transitions-dissolve",
"type": "hyperframes:block"
},
{
"name": "transitions-distortion",
"type": "hyperframes:block"
},
{
"name": "transitions-grid",
"type": "hyperframes:block"
},
{
"name": "transitions-light",
"type": "hyperframes:block"
},
{
"name": "transitions-mechanical",
"type": "hyperframes:block"
},
{
"name": "transitions-other",
"type": "hyperframes:block"
},
{
"name": "transitions-push",
"type": "hyperframes:block"
},
{
"name": "transitions-radial",
"type": "hyperframes:block"
},
{
"name": "transitions-scale",
"type": "hyperframes:block"
},
{
"name": "vfx-text-cursor",
"type": "hyperframes:block"
},
{
"name": "vfx-liquid-background",
"type": "hyperframes:block"
},
{
"name": "vfx-iphone-device",
"type": "hyperframes:block"
},
{
"name": "vfx-magnetic",
"type": "hyperframes:block"
},
{
"name": "vfx-portal",
"type": "hyperframes:block"
},
{
"name": "liquid-glass-notification",
"type": "hyperframes:block"
},
{
"name": "liquid-glass-context-menu",
"type": "hyperframes:block"
},
{
"name": "liquid-glass-media-controls",
"type": "hyperframes:block"
},
{
"name": "liquid-glass-widgets",
"type": "hyperframes:block"
},
{
"name": "ios26-liquid-glass",
"type": "hyperframes:block"
},
{
"name": "macos-tahoe-liquid-glass",
"type": "hyperframes:block"
},
{
"name": "vfx-shatter",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-basic",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-clear-dark",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-clear-light",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-grass",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-homebrew",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-man-page",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-novel",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-ocean",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-pro",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-red-sands",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-silver-aerogel",
"type": "hyperframes:block"
},
{
"name": "code-snippet-apple-terminal-solid-colors",
"type": "hyperframes:block"
},
{
"name": "code-snippet-dark-2026",
"type": "hyperframes:block"
},
{
"name": "code-snippet-dark-modern",
"type": "hyperframes:block"
},
{
"name": "code-snippet-dark-plus",
"type": "hyperframes:block"
},
{
"name": "code-snippet-high-contrast",
"type": "hyperframes:block"
},
{
"name": "code-snippet-high-contrast-light",
"type": "hyperframes:block"
},
{
"name": "code-snippet-light-2026",
"type": "hyperframes:block"
},
{
"name": "code-snippet-light-modern",
"type": "hyperframes:block"
},
{
"name": "code-snippet-light-plus",
"type": "hyperframes:block"
},
{
"name": "code-snippet-monokai",
"type": "hyperframes:block"
},
{
"name": "code-snippet-solarized-light",
"type": "hyperframes:block"
},
{
"name": "code-snippet-visual-studio-dark",
"type": "hyperframes:block"
},
{
"name": "code-snippet-visual-studio-light",
"type": "hyperframes:block"
},
{
"name": "flowchart-vertical",
"type": "hyperframes:block"
},
{
"name": "vfx-liquid-glass",
"type": "hyperframes:block"
},
{
"name": "parallax-zoom",
"type": "hyperframes:component"
},
{
"name": "parallax-unzoom",
"type": "hyperframes:component"
}
]
}