Skip to content

feat(registry): add podcast/interview lower-thirds pack (10 blocks)#1689

Open
sunlesshalo wants to merge 1 commit into
heygen-com:mainfrom
sunlesshalo:lower-thirds-pack
Open

feat(registry): add podcast/interview lower-thirds pack (10 blocks)#1689
sunlesshalo wants to merge 1 commit into
heygen-com:mainfrom
sunlesshalo:lower-thirds-pack

Conversation

@sunlesshalo

@sunlesshalo sunlesshalo commented Jun 24, 2026

Copy link
Copy Markdown

What

Adds a podcast / interview lower-thirds pack — 10 blocks across three families — to the registry. Fills the catalog's stated gap: "What's Needed Right Now → Lower thirds: 10 variations for podcasts/interviews (Easy)."

The only existing lower third, yt-lower-third, is a YouTube subscribe widget; these are name / role identifiers (bottom-left broadcast convention), so there's no overlap.

The pack

Clean (light cards)

  • lt-clean-bar — white card + accent tab, clip-wipe entrance
  • lt-soft-pill — rounded pill + status dot, scale-pop
  • lt-dark-card — charcoal card + drawn accent underline, slide-up

Underline (cardless — for footage; text-shadowed)

  • lt-accent-underline — condensed caps + an accent rule that draws left→right
  • lt-side-rule — vertical accent bar draws top→down
  • lt-mask-reveal — accent sweep clip-path-reveals a heavy name

Bold (podcast)

  • lt-bold-block — dark block wipes in, caps slam, mono tag pops
  • lt-color-block — accent-color block slides in with overshoot
  • lt-stack-bars — name bar wipes from the left, accent role bar from the right
  • lt-kicker-name — accent kicker/eyebrow, heavy name, drawn baseline

Preview

Labeled 2×5 grid — all 10 blocks in motion (4.8s loop):

Podcast/interview lower-thirds — all 10 blocks in motion

Conventions

  • 1920×1080, 4.8s, transparent overlay (overlay-ready), single data-composition-id.
  • Bundled auto-resolve fonts only (Montserrat, Oswald, League Gothic, Archivo Black, Space Mono, JetBrains Mono) — no Google Fonts <link>, so they render offline / deterministically with zero font lint warnings.
  • Determinism: paused GSAP timeline on window.__timelines; no Math.random() / Date.now() / timers; class="clip" timing wrapper (with id) + an inner animated element; hard-killed exit; #root-scoped CSS.
  • Original, generic design — no third-party branding; placeholder copy only (Dr. Maya Chen / Host · Neuroscientist).

Verification

Every block passes:

  • hyperframes lint0 errors / 0 warnings
  • hyperframes validateno console errors

(The cardless variants log advisory WCAG contrast warnings — expected for transparent overlays, where contrast depends on the underlying footage; the text-shadows handle legibility.)

Renders are deterministic, so any block reproduces identically via:

hyperframes render registry/blocks/<name> -o <name>.mp4

Notes for maintainers

  • registry/registry.json updated with the 10 hyperframes:block entries.
  • I did not run scripts/generate-catalog-pages.ts (to avoid generated-page churn) — happy to run it, split into smaller PRs, or adjust naming / grouping per your preference.
  • Per the contributing guide, preview hosting is left to maintainers.

Adds 10 podcast/interview lower-third blocks across three families, filling the
"What's Needed Right Now → Lower thirds: 10 variations for podcasts/interviews"
gap. The only existing lower third (yt-lower-third) is a YouTube subscribe
widget, so these name/role identifiers don't overlap.

  Clean:     lt-clean-bar, lt-soft-pill, lt-dark-card
  Underline: lt-accent-underline, lt-side-rule, lt-mask-reveal
  Bold:      lt-bold-block, lt-color-block, lt-stack-bars, lt-kicker-name

Each: 1920x1080, 4.8s, transparent overlay; bundled auto-resolve fonts only
(no Google Fonts link -> renders offline, zero font lint warnings);
deterministic (paused timeline on window.__timelines, no random/Date.now/timers;
class="clip" wrapper + inner animated element; hard-killed exit). All 10 pass
hyperframes lint (0 errors / 0 warnings) and validate (no console errors).
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.

1 participant