From 48fcf4ada5ee67f8931a43dc54c3337fa615300c Mon Sep 17 00:00:00 2001 From: Vance Ingalls Date: Sun, 7 Jun 2026 10:55:13 -0700 Subject: [PATCH] feat(registry): add morph-text component and text-effects catalog section (#1247) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 * chore(registry): add morph-text preview video Co-Authored-By: Claude Sonnet 4.6 * chore(registry): fix morph-text.html formatting Co-Authored-By: Claude Sonnet 4.6 * 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 * chore(registry): add demo.html for morph-text catalog preview rendering Co-Authored-By: Claude Sonnet 4.6 * 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 --------- Co-authored-by: Miguel Ángel Co-authored-by: Claude Sonnet 4.6 --- docs/catalog/components/morph-text.mdx | 40 +++ docs/docs.json | 10 +- packages/core/src/registry/types.ts | 5 +- packages/studio/src/hooks/useBlockCatalog.ts | 22 +- packages/studio/src/utils/blockCategories.ts | 1 + .../registry-item.json | 2 +- registry/components/morph-text/demo.html | 237 ++++++++++++++++++ .../components/morph-text/morph-text.html | 234 +++++++++++++++++ .../components/morph-text/registry-item.json | 18 ++ .../texture-mask-text/registry-item.json | 2 +- registry/registry.json | 4 + 11 files changed, 558 insertions(+), 17 deletions(-) create mode 100644 docs/catalog/components/morph-text.mdx create mode 100644 registry/components/morph-text/demo.html create mode 100644 registry/components/morph-text/morph-text.html create mode 100644 registry/components/morph-text/registry-item.json diff --git a/docs/catalog/components/morph-text.mdx b/docs/catalog/components/morph-text.mdx new file mode 100644 index 000000000..660a3bb89 --- /dev/null +++ b/docs/catalog/components/morph-text.mdx @@ -0,0 +1,40 @@ +--- +title: "Morph Text" +description: "Gooey text morph — cycles through an editable word list using SVG threshold + GSAP-driven blur for a fluid, satisfying transition effect" +--- + +# Morph Text + +Gooey text morph — cycles through an editable word list using SVG threshold + GSAP-driven blur for a fluid, satisfying transition effect + +`text` `text-effect` `typography` `morph` `gooey` `kinetic` `animation` + +