Files
heygen-com__hyperframes/docs/docs.json
T

224 lines
5.9 KiB
JSON
Raw Normal View History

{
"$schema": "https://mintlify.com/docs.json",
docs: apply HyperFrames design system to Mintlify theme (#225) * docs: apply HyperFrames design system to Mintlify theme Update docs config and add custom CSS to match the HyperFrames brand: - Switch theme from mint to maple, replace cyan palette with warm neutrals - Add Inter (body/headings) and IBM Plex Mono (code) fonts - Add custom.css with full light/dark mode CSS variables - Default to light mode appearance - Replace box-shadow hover effects with border-color (flat aesthetic) - Add DESIGN.md to repo root as design system reference - Fix docs CI to also trigger on DOCS_GUIDELINES.md pushes to main Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: replace HeyGen logo with HyperFrames text wordmark Replace 41KB HeyGen SVG logos with lightweight (~400B) text-based SVGs rendering "HyperFrames" in Inter semibold with tight tracking, matching the wordmark style on hyperframes.heygen.com. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: use ABC Solar Display font for logo wordmark Match the exact font rendering from hyperframes.heygen.com: - Load ABC Solar Display Bold from HeyGen static assets CDN - SVGs use 15.2px/600w/-0.15 letter-spacing (matches computed styles) - Dark mode fill matches rgb(240,240,240) from the website - Add @font-face in custom.css for site-wide availability - Fix lefthook: remove css from oxfmt glob (oxfmt doesn't support CSS) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: convert logo SVGs to outlined paths SVG <text> elements don't render custom fonts when loaded as <img> (browser security restriction). Convert the ABC Solar Display glyphs to SVG paths extracted from the font outlines — renders identically everywhere with zero font dependency. Remove @font-face for the display font from custom.css since it's no longer needed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: constrain logo height to match website sizing Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Revert "docs: constrain logo height to match website sizing" This reverts commit 89e9cb598e00874d87e501128b2dd689192329bd. * docs: switch body font from Inter to TT Norms Pro Use TT Norms Pro (from HeyGen static assets CDN) to match hyperframes.heygen.com. Loads weights 400-700 via @font-face with Inter as fallback. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 20:24:35 -07:00
"name": "HyperFrames",
"theme": "maple",
"colors": {
docs: apply HyperFrames design system to Mintlify theme (#225) * docs: apply HyperFrames design system to Mintlify theme Update docs config and add custom CSS to match the HyperFrames brand: - Switch theme from mint to maple, replace cyan palette with warm neutrals - Add Inter (body/headings) and IBM Plex Mono (code) fonts - Add custom.css with full light/dark mode CSS variables - Default to light mode appearance - Replace box-shadow hover effects with border-color (flat aesthetic) - Add DESIGN.md to repo root as design system reference - Fix docs CI to also trigger on DOCS_GUIDELINES.md pushes to main Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: replace HeyGen logo with HyperFrames text wordmark Replace 41KB HeyGen SVG logos with lightweight (~400B) text-based SVGs rendering "HyperFrames" in Inter semibold with tight tracking, matching the wordmark style on hyperframes.heygen.com. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: use ABC Solar Display font for logo wordmark Match the exact font rendering from hyperframes.heygen.com: - Load ABC Solar Display Bold from HeyGen static assets CDN - SVGs use 15.2px/600w/-0.15 letter-spacing (matches computed styles) - Dark mode fill matches rgb(240,240,240) from the website - Add @font-face in custom.css for site-wide availability - Fix lefthook: remove css from oxfmt glob (oxfmt doesn't support CSS) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: convert logo SVGs to outlined paths SVG <text> elements don't render custom fonts when loaded as <img> (browser security restriction). Convert the ABC Solar Display glyphs to SVG paths extracted from the font outlines — renders identically everywhere with zero font dependency. Remove @font-face for the display font from custom.css since it's no longer needed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: constrain logo height to match website sizing Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Revert "docs: constrain logo height to match website sizing" This reverts commit 89e9cb598e00874d87e501128b2dd689192329bd. * docs: switch body font from Inter to TT Norms Pro Use TT Norms Pro (from HeyGen static assets CDN) to match hyperframes.heygen.com. Loads weights 400-700 via @font-face with Inter as fallback. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 20:24:35 -07:00
"primary": "#0a0a0a",
"light": "#f6f5f1",
"dark": "#0a0a0a"
},
"background": {
"color": {
"light": "#f6f5f1",
"dark": "#0a0a0a"
}
},
"fonts": {
"family": "Inter",
"heading": {
"family": "Inter"
}
},
"appearance": {
"default": "light"
},
"logo": {
"light": "/logo/light.svg",
"dark": "/logo/dark.svg"
},
"favicon": "/favicon.svg",
"contextual": {
"options": [
"copy",
"claude",
"cursor",
"vscode",
"windsurf",
"mcp",
{
"title": "Open an issue",
"description": "Report a bug or request a feature",
"icon": "github",
"iconType": "brands",
"href": "https://github.com/heygen-com/hyperframes/issues/new"
}
]
},
"navigation": {
"tabs": [
{
"tab": "Documentation",
"groups": [
{
"group": "Getting Started",
feat(skills): hyperframes-registry skill (#261) ## What New skill `hyperframes-registry` that teaches AI coding agents how to install and wire registry blocks and components into HyperFrames compositions. ### Skill structure ``` skills/hyperframes-registry/ SKILL.md — triggers, overview, quick reference references/ install-locations.md — default paths, hyperframes.json config wiring-blocks.md — iframe inclusion, data attributes, positioning wiring-components.md — snippet merging (HTML, CSS, JS, timeline) discovery.md — manifest reading, item fields, available items table demo-html-pattern.md — why components ship demo.html, structure conventions examples/ add-block.md — worked example: data-chart block install + wiring add-component.md — worked example: shimmer-sweep component install + wiring ``` ## Why Phase B of the catalog plan (PR 10). Without this skill, agents using `hyperframes add` have to guess how to wire installed items into compositions. The skill encodes the iframe/snippet patterns so agents get it right on the first attempt. ## How - SKILL.md frontmatter triggers on: `hyperframes add`, "block", "component", `hyperframes.json` - References cover every step: discovery, install, wiring blocks (iframe), wiring components (snippet merge), and the demo.html convention - Two worked examples walk through complete install-to-preview workflows - Updated CLAUDE.md skills table + trigger rules, README.md skills table, docs/packages/cli.mdx ## Test plan - [x] `scripts/lint-skills.ts` passes (checked 4 skill files, no issues) - [x] `oxfmt --check` passes on all markdown files - [x] SKILL.md frontmatter has valid `name` and `description` - [x] All reference links in SKILL.md resolve to existing files - [x] CLAUDE.md, README.md, and docs CLI page updated with new skill
2026-04-14 16:27:24 -07:00
"pages": [
"introduction",
"quickstart",
"examples"
]
},
{
"group": "Concepts",
"pages": [
"concepts/compositions",
"concepts/data-attributes",
"concepts/frame-adapters",
"concepts/determinism"
]
},
{
"group": "Guides",
"pages": [
"guides/website-to-video",
"guides/claude-design",
docs: add Open Design guide alongside Claude Design (#585) Add a parallel handoff path for users of [Open Design](https://github.com/nexu-io/open-design), the Apache-2.0, local-first, BYOK alternative to Claude Design that drives whichever coding-agent CLI the user already has on their PATH (Claude Code, Codex, Cursor, Gemini, OpenCode, Qwen, Copilot, Hermes, Kimi, Pi). Mirrors the existing Claude Design integration: - README: a paragraph next to the Claude Design one, pointing at the new guide and explaining the drop-into-skills/SKILL.md install path - docs/guides/open-design.mdx: Mintlify page parallel to claude-design.mdx, with Steps, comparison table, prompts, limitations, handoff - docs/guides/open-design-hyperframes.md: SKILL.md-shaped instruction file users drop into skills/hyperframes-handoff/SKILL.md (Open Design auto-discovers it on next request) or attach to chat as a one-shot - docs/docs.json: nav entry for the new page The instruction file deliberately defers to claude-design-hyperframes.md as the canonical reference for skeleton catalogs, shader patterns, HDR, and audio-reactive animation — it stays focused on what Open Design's prompt stack needs at emission time (active-DESIGN.md binding, 5-dim self-critique gate, structural rules) so the two guides don't drift. Open Design already ships a motion-frames skill that says "hand-off ready for HyperFrames" — this PR closes the loop on the HyperFrames side so the route is discoverable from the HyperFrames docs. Co-authored-by: pftom <huan1043269996@gmail.com>
2026-05-01 19:48:11 +08:00
"guides/open-design",
docs: add prompt cookbook + prompting guide for AI agents (#286) * docs: add prompt cookbook + prompting guide for AI agents Addresses user feedback that there's no guidance on how to actually prompt Claude Code (or other agents) once the hyperframes skills are installed. Adds copy-pasteable example prompts in the README and quickstart, a new prompting guide page, and a starter-prompt nudge in the `hyperframes init` output. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs(prompting): add vocabulary tables, rules, and TTS voice guide Merges the best content from the internal prompt guide into prompting.mdx: easing vocabulary, caption tone table, transition energy matrix, audio-reactive frequency mapping, marker highlight modes, TTS voice recommendations, rendering quality presets, and framework rules (technical requirements vs best practices). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs(prompting): rename page title to "Prompt Guide" Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: remove greensock/gsap-skills dependency, fix Math.random nuance The bundled skills/gsap/ already covers the GSAP surface needed for HyperFrames compositions. Installing greensock/gsap-skills on top adds a competing full-ecosystem skill that's mostly irrelevant (ScrollTrigger, Draggable, SplitText, etc.) and can confuse agents about which GSAP context to load. Also adds seeded-PRNG nuance to the Math.random() rule in the prompt guide (matching the skill's actual guidance). Removed from: skills.ts, README, AGENTS.md, shared AGENTS.md/CLAUDE.md, and prompting.mdx. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: require minimal reproduction link in bug report template Adds a required "Link to reproduction" input field asking users to push a minimal repro to a public GitHub repo (scaffolded via `hyperframes init repro --non-interactive --example blank`). Also consolidates the OS/Node/FFmpeg/version fields into a single "Environment" field using `npx hyperframes info` output — fewer fields to fill, more consistent data. Follows the same pattern as Next.js and Gatsby issue templates. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(issue-template): use hyperframes doctor for environment info `hyperframes info` only prints project metadata (resolution, duration, elements). `hyperframes doctor` prints the full environment: version, Node.js, FFmpeg, Chrome, memory, disk, Docker — everything needed to diagnose bugs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs(prompting): mention validate alongside lint in anti-patterns Per Vance's review comment — validate catches runtime errors (JS exceptions, missing assets, contrast) that lint doesn't. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: replace libretto example URL with hyperframes repo Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 22:22:46 -07:00
"guides/prompting",
"guides/hyperframes-vs-remotion",
"guides/gsap-animation",
"guides/rendering",
fix(cli): forward --hdr through Docker render + HDR docs (#346) ## Summary This PR ended up covering the full HDR Docker/docs follow-through plus the producer/engine work needed to make HDR still images render and regress correctly in CI. The branch now does four things: - forwards `--hdr` through the Docker render path in the CLI - adds and expands HDR documentation across the docs site - adds first-class HDR still-image support to the engine/producer pipeline - adds targeted HDR regression coverage, including a CI-safe fallback for PNG HDR metadata detection when `ffprobe` does not expose PNG color tags ## What changed ### CLI and docs - `hyperframes render --docker --hdr` now preserves `--hdr` when invoking the in-container CLI - added a dedicated HDR guide and linked it from CLI, producer, engine, rendering, and common-mistakes docs - documented HDR constraints and verification flow: HDR source requirements, MP4/H.265 Main10 output, PQ/HLG handling, Docker usage, and common SDR fallback causes ### Engine and producer HDR image support - added `ImageElement` support to the engine composition model and parsing path - threaded image elements through producer compilation and orchestration - probed image sources for HDR color spaces so image-only compositions can trigger HDR output without requiring an HDR video source - included HDR image start times in stacking queries so the layered compositor can place images correctly in z-order - integrated HDR image compositing into the layered HDR render loop alongside native HDR video layers and SDR DOM overlays - forced screenshot mode for HDR layered compositing where required to keep DOM/HDR layer composition deterministic - skipped readiness waiting for natively extracted HDR videos in the engine path where it was unnecessary and could block layered HDR flows ### HDR metadata robustness - added a fallback in `extractVideoMetadata()` to read PNG `cICP` metadata directly when `ffprobe` omits color-space fields for PNGs - this specifically fixes CI/Docker detection for the `hdr-image-only` fixture, where the render was falling back to SDR because the PNG was not being recognized as BT.2020 PQ ### Regression coverage and fixture cleanup - added `hdr-image-only`, a regression fixture that validates HDR still-image rendering end to end - added `hdr-pq`, a focused HDR PQ regression fixture for the video path - updated regression CI to run an `hdr` shard with `--sequential hdr-pq hdr-image-only` - removed the older larger `hdr-regression/*` fixture set in favor of the smaller targeted regressions used by CI - added the necessary fixture generation/readme material and checked-in golden outputs for the new HDR tests ## Why The original PR description only covered the CLI flag forwarding and docs work. Since then, the branch also picked up the missing runtime support needed for HDR still images and the regression coverage to keep that path from breaking. The practical issue this closes is: - local host runs could pass while CI failed `hdr-image-only` - the failure was a full-frame visual mismatch caused by SDR fallback, not unstable rendering - root cause was PNG HDR metadata not being surfaced by `ffprobe` in the CI Docker environment - parsing the PNG `cICP` chunk directly makes HDR detection deterministic across environments ## Test plan ### Local targeted checks ```bash bunx oxlint packages/engine/src/utils/ffprobe.ts packages/engine/src/utils/ffprobe.test.ts bunx oxfmt packages/engine/src/utils/ffprobe.ts packages/engine/src/utils/ffprobe.test.ts bun --cwd packages/engine test src/utils/ffprobe.test.ts src/utils/hdr.test.ts ``` ### Producer regression runs on host ```bash bun run --cwd packages/core build:hyperframes-runtime:modular bun --cwd packages/producer test -- --sequential --exclude-tags slow,render-compat,hdr bun --cwd packages/producer test -- --sequential hdr-pq hdr-image-only ``` Observed result: - `fast` shard: 7 passed, 0 failed - `hdr` shard: 2 passed, 0 failed ### CI-equivalent Docker verification ```bash docker build -f Dockerfile.test -t hyperframes-producer:test . docker run --rm \ --security-opt seccomp=unconfined \ --shm-size=4g \ -v "$PWD/packages/producer/tests:/app/packages/producer/tests" \ hyperframes-producer:test \ --sequential hdr-pq hdr-image-only ``` Observed result: - `hdr-image-only`: passed - `hdr-pq`: passed - shard summary: 2 passed, 0 failed ### Specific regression fixed Before the PNG `cICP` fallback, the Docker/CI run failed `hdr-image-only` with: - missing `"[Render] HDR source detected — output: PQ ..."` log line - full-frame visual mismatch across all 100 checkpoints - PSNR ~17 on every frame, indicating a consistent SDR-vs-HDR pipeline mismatch After the fallback, the same Docker path recognizes the PNG as HDR and the shard passes.
2026-04-20 12:16:24 -07:00
"guides/hdr",
docs(guides): add Performance guide and preview-stutter troubleshooting (#327) * docs(guides): add performance guide and preview-stutter troubleshooting Adds a dedicated Performance guide covering preview-vs-render cost model, expensive CSS patterns (backdrop-filter, filter, shadows), image sizing, and how to diagnose slow compositions with Chrome DevTools. Cross-links from troubleshooting (new "Preview stutters" accordion) and common-mistakes (new "Oversized source images" and "Heavy backdrop-filter stacks" accordions). Wires the new page into docs.json nav. Also fixes a pre-commit format hook edge case: oxfmt would exit 2 when the only staged files matching the format glob were all covered by .prettierignore (e.g. docs-only changes). Add --no-error-on-unmatched-pattern to the lefthook oxfmt invocation so docs-only commits are not blocked. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: call out preview performance limits at the entry points The preview command, studio package, and determinism concept pages all frame preview as visually equivalent to render — correct for fidelity, misleading for playback smoothness. A user who reads those pages and then hits a paint-heavy composition has no way to know why preview stutters, short of drilling into troubleshooting. Adds short notes at each entry point linking out to the new Performance guide, so users hit the "preview is hardware-bound, render isn't" explanation wherever they land first. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 12:22:42 -07:00
"guides/performance",
fix(studio): only expose front trim for offsettable clips (#413) ## Summary - hide the leading trim handle for timeline clips that cannot offset their own content - keep leading trim available for media clips backed by playback offset metadata or source duration - map visual row priority like a normal timeline editor: top timeline rows render above lower rows ## Why This Is Needed Generic GSAP/DOM timeline clips do not have a playback-offset model like media clips do. That means a left trim affordance on those clips is misleading today: - users reasonably expect front trim to remove the beginning of the animation - the current model can only shorten the clip window, not start the motion halfway through Instead of exposing a control that implies unsupported behavior, this PR keeps true front trim only on clips that can actually offset their content. The PR also fixes the stacking convention so the timeline matches normal editor expectations: - visually higher track row = higher render priority - visually lower track row = lower render priority ## Current Flow By Element Type ### Generic motion / DOM clips Examples: `section`, `div`, `aside`, GSAP-driven cards and overlays. Current supported flow: - drag the whole clip horizontally to change `data-start` - right-trim to shorten the end of the clip window - move between tracks to change `data-track-index` Not supported yet: - true front trim that removes the beginning of the animation itself Behavior after this PR: - no interactive left trim handle is shown - right trim still works - horizontal move still works ### Media clips Examples: `video` / `audio` clips, or wrappers carrying `data-media-start` / `data-playback-start`. Current supported flow: - drag the whole clip horizontally to change `data-start` - left trim advances clip start and playback offset together - right trim shortens `data-duration` Behavior after this PR: - both left and right trim handles remain available - left trim persists `data-start` plus `data-media-start` / `data-playback-start` - right trim persists `data-duration` ## Z-Index Rule This PR now follows the normal timeline-editor convention: - top visual row on the timeline = highest `z-index` - lower visual rows = lower `z-index` Concretely, because Studio renders tracks in ascending numeric order from top to bottom, lower numeric track values now map to higher `z-index` values. ## Validation ### Automated - `bun test packages/studio/src/player/components/timelineEditing.test.ts packages/studio/src/player/components/Timeline.test.ts packages/studio/src/player/store/playerStore.test.ts packages/studio/src/utils/sourcePatcher.test.ts` - `bun run --filter @hyperframes/studio typecheck` ### Browser verification Verified with `agent-browser` on `timeline-edit-playground`: - generic motion clips no longer expose an interactive left trim handle - media clips still expose both trim handles - left trim on `media-card` persisted `data-start` and `data-media-start` - right trim on `media-card` persisted `data-duration` only - moving `title-card` from the bottom row to the top row persisted the highest `z-index` for the top-row clips - recordings: - `/tmp/trim-fix-artifacts/trim-flow.webm` - `/tmp/trim-fix-artifacts/z-index-flow.webm`
2026-04-22 17:11:15 +02:00
"guides/timeline-editing",
"guides/video-editor-cheatsheet",
"guides/common-mistakes",
"guides/troubleshooting"
]
}
]
},
feat(skills): hyperframes-registry skill (#261) ## What New skill `hyperframes-registry` that teaches AI coding agents how to install and wire registry blocks and components into HyperFrames compositions. ### Skill structure ``` skills/hyperframes-registry/ SKILL.md — triggers, overview, quick reference references/ install-locations.md — default paths, hyperframes.json config wiring-blocks.md — iframe inclusion, data attributes, positioning wiring-components.md — snippet merging (HTML, CSS, JS, timeline) discovery.md — manifest reading, item fields, available items table demo-html-pattern.md — why components ship demo.html, structure conventions examples/ add-block.md — worked example: data-chart block install + wiring add-component.md — worked example: shimmer-sweep component install + wiring ``` ## Why Phase B of the catalog plan (PR 10). Without this skill, agents using `hyperframes add` have to guess how to wire installed items into compositions. The skill encodes the iframe/snippet patterns so agents get it right on the first attempt. ## How - SKILL.md frontmatter triggers on: `hyperframes add`, "block", "component", `hyperframes.json` - References cover every step: discovery, install, wiring blocks (iframe), wiring components (snippet merge), and the demo.html convention - Two worked examples walk through complete install-to-preview workflows - Updated CLAUDE.md skills table + trigger rules, README.md skills table, docs/packages/cli.mdx ## Test plan - [x] `scripts/lint-skills.ts` passes (checked 4 skill files, no issues) - [x] `oxfmt --check` passes on all markdown files - [x] SKILL.md frontmatter has valid `name` and `description` - [x] All reference links in SKILL.md resolve to existing files - [x] CLAUDE.md, README.md, and docs CLI page updated with new skill
2026-04-14 16:27:24 -07:00
{
"tab": "Catalog",
"groups": [
{
feat(registry): seed transition blocks — 14 shader + 14 CSS showcase (#270) ## What Add 28 transition blocks from the Hyperframe Template Structure catalog, bringing the registry to 53 total items. ### Shader transitions (14 blocks, WebGL, 4s each) `domain-warp-dissolve`, `ridged-burn`, `whip-pan`, `sdf-iris`, `ripple-waves`, `gravitational-lens`, `cinematic-zoom`, `chromatic-radial-split`, `glitch`, `swirl-vortex`, `thermal-distortion`, `flash-through-white`, `cross-warp-morph`, `light-leak` ### CSS transition showcases (14 blocks, various durations) `transitions-3d`, `transitions-blur`, `transitions-cover`, `transitions-destruction`, `transitions-dissolve`, `transitions-distortion`, `transitions-grid`, `transitions-light`, `transitions-mechanical`, `transitions-other`, `transitions-push`, `transitions-radial`, `transitions-scale`, `transitions-shader` ## Why Phase D content accumulation. Transitions are the most-requested category for the catalog. ## How - Shader transitions extracted from `shader-showcase.zip`, each a standalone HTML with WebGL shaders - CSS transitions extracted from `showcase-bundle.zip`, each a standalone showcase page - All tagged with `transition` + `shader` or `showcase` for catalog grouping - Preview thumbnails generated for all 28 blocks - Catalog pages + index regenerated ## Test plan - [x] All 28 blocks produce preview thumbnails - [x] `registry-item.json` validates for all blocks - [x] Catalog pages generated (45 total items in catalog-index.json) - [x] `oxfmt --check` passes
2026-04-14 16:32:27 -07:00
"group": "Social Overlays",
feat(skills): hyperframes-registry skill (#261) ## What New skill `hyperframes-registry` that teaches AI coding agents how to install and wire registry blocks and components into HyperFrames compositions. ### Skill structure ``` skills/hyperframes-registry/ SKILL.md — triggers, overview, quick reference references/ install-locations.md — default paths, hyperframes.json config wiring-blocks.md — iframe inclusion, data attributes, positioning wiring-components.md — snippet merging (HTML, CSS, JS, timeline) discovery.md — manifest reading, item fields, available items table demo-html-pattern.md — why components ship demo.html, structure conventions examples/ add-block.md — worked example: data-chart block install + wiring add-component.md — worked example: shimmer-sweep component install + wiring ``` ## Why Phase B of the catalog plan (PR 10). Without this skill, agents using `hyperframes add` have to guess how to wire installed items into compositions. The skill encodes the iframe/snippet patterns so agents get it right on the first attempt. ## How - SKILL.md frontmatter triggers on: `hyperframes add`, "block", "component", `hyperframes.json` - References cover every step: discovery, install, wiring blocks (iframe), wiring components (snippet merge), and the demo.html convention - Two worked examples walk through complete install-to-preview workflows - Updated CLAUDE.md skills table + trigger rules, README.md skills table, docs/packages/cli.mdx ## Test plan - [x] `scripts/lint-skills.ts` passes (checked 4 skill files, no issues) - [x] `oxfmt --check` passes on all markdown files - [x] SKILL.md frontmatter has valid `name` and `description` - [x] All reference links in SKILL.md resolve to existing files - [x] CLAUDE.md, README.md, and docs CLI page updated with new skill
2026-04-14 16:27:24 -07:00
"pages": [
feat(registry): seed blocks batch — social overlays, data viz, showcases (#269) ## What Add 11 blocks from the Hyperframe Template Structure catalog, bringing the registry to 25 total items. ### Social overlays | Block | Dimensions | Duration | Description | |-------|-----------|----------|-------------| | `instagram-follow` | 1080×1920 | 4.5s | Instagram follow overlay with profile card | | `tiktok-follow` | 1080×1920 | 4.5s | TikTok follow overlay with profile card | | `yt-lower-third` | 1920×1080 | 4.5s | YouTube subscribe lower third | | `x-post` | 1920×1080 | 5s | X/Twitter post card with engagement | | `reddit-post` | 1920×1080 | 5s | Reddit post card with upvotes | | `spotify-card` | 1080×1920 | 5s | Spotify now-playing card | | `macos-notification` | 1920×1080 | 5s | macOS notification banner | ### Data & visualization | Block | Duration | Description | |-------|----------|-------------| | `ascii-dashboard` | 10s | Retro terminal-style data viz | | `ascii-lightning` | 9s | ASCII art lightning bolt animation | ### Showcases | Block | Duration | Description | |-------|----------|-------------| | `app-showcase` | 5.5s | Floating smartphone screens | | `ui-3d-reveal` | 13s | Perspective 3D UI reveal | ## Why Phase D content accumulation. The registry pipeline (PRs 6-10) is in place — this PR exercises it at scale. ## How - Extracted from zip files in the Hyperframe Template Structure Notion doc - Social overlays: single-file standalone HTML, copied directly - Multi-file blocks (ascii-*, app-showcase, ui-3d-reveal): converted `<template>` sub-compositions to standalone HTML with proper `<!doctype>` wrappers - All previews (PNG + MP4) rendered locally via `generate-catalog-previews.ts` - Catalog MDX pages regenerated via `generate-catalog-pages.ts` - `docs.json` updated with new catalog entries ## Test plan - [x] All 11 blocks render to PNG + MP4 without errors - [x] Catalog pages generated for all 17 items (14 blocks + 3 components) - [x] `registry-item.json` files have correct dimensions, duration, tags - [x] `oxfmt --check` passes on all files
2026-04-14 16:29:25 -07:00
"catalog/blocks/instagram-follow",
"catalog/blocks/macos-notification",
"catalog/blocks/reddit-post",
"catalog/blocks/spotify-card",
"catalog/blocks/tiktok-follow",
"catalog/blocks/x-post",
"catalog/blocks/yt-lower-third"
feat(skills): hyperframes-registry skill (#261) ## What New skill `hyperframes-registry` that teaches AI coding agents how to install and wire registry blocks and components into HyperFrames compositions. ### Skill structure ``` skills/hyperframes-registry/ SKILL.md — triggers, overview, quick reference references/ install-locations.md — default paths, hyperframes.json config wiring-blocks.md — iframe inclusion, data attributes, positioning wiring-components.md — snippet merging (HTML, CSS, JS, timeline) discovery.md — manifest reading, item fields, available items table demo-html-pattern.md — why components ship demo.html, structure conventions examples/ add-block.md — worked example: data-chart block install + wiring add-component.md — worked example: shimmer-sweep component install + wiring ``` ## Why Phase B of the catalog plan (PR 10). Without this skill, agents using `hyperframes add` have to guess how to wire installed items into compositions. The skill encodes the iframe/snippet patterns so agents get it right on the first attempt. ## How - SKILL.md frontmatter triggers on: `hyperframes add`, "block", "component", `hyperframes.json` - References cover every step: discovery, install, wiring blocks (iframe), wiring components (snippet merge), and the demo.html convention - Two worked examples walk through complete install-to-preview workflows - Updated CLAUDE.md skills table + trigger rules, README.md skills table, docs/packages/cli.mdx ## Test plan - [x] `scripts/lint-skills.ts` passes (checked 4 skill files, no issues) - [x] `oxfmt --check` passes on all markdown files - [x] SKILL.md frontmatter has valid `name` and `description` - [x] All reference links in SKILL.md resolve to existing files - [x] CLAUDE.md, README.md, and docs CLI page updated with new skill
2026-04-14 16:27:24 -07:00
]
},
{
feat(registry): seed transition blocks — 14 shader + 14 CSS showcase (#270) ## What Add 28 transition blocks from the Hyperframe Template Structure catalog, bringing the registry to 53 total items. ### Shader transitions (14 blocks, WebGL, 4s each) `domain-warp-dissolve`, `ridged-burn`, `whip-pan`, `sdf-iris`, `ripple-waves`, `gravitational-lens`, `cinematic-zoom`, `chromatic-radial-split`, `glitch`, `swirl-vortex`, `thermal-distortion`, `flash-through-white`, `cross-warp-morph`, `light-leak` ### CSS transition showcases (14 blocks, various durations) `transitions-3d`, `transitions-blur`, `transitions-cover`, `transitions-destruction`, `transitions-dissolve`, `transitions-distortion`, `transitions-grid`, `transitions-light`, `transitions-mechanical`, `transitions-other`, `transitions-push`, `transitions-radial`, `transitions-scale`, `transitions-shader` ## Why Phase D content accumulation. Transitions are the most-requested category for the catalog. ## How - Shader transitions extracted from `shader-showcase.zip`, each a standalone HTML with WebGL shaders - CSS transitions extracted from `showcase-bundle.zip`, each a standalone showcase page - All tagged with `transition` + `shader` or `showcase` for catalog grouping - Preview thumbnails generated for all 28 blocks - Catalog pages + index regenerated ## Test plan - [x] All 28 blocks produce preview thumbnails - [x] `registry-item.json` validates for all blocks - [x] Catalog pages generated (45 total items in catalog-index.json) - [x] `oxfmt --check` passes
2026-04-14 16:32:27 -07:00
"group": "Shader Transitions",
"pages": [
"catalog/blocks/chromatic-radial-split",
"catalog/blocks/cinematic-zoom",
"catalog/blocks/cross-warp-morph",
"catalog/blocks/domain-warp-dissolve",
"catalog/blocks/flash-through-white",
"catalog/blocks/glitch",
"catalog/blocks/gravitational-lens",
"catalog/blocks/light-leak",
"catalog/blocks/ridged-burn",
"catalog/blocks/ripple-waves",
"catalog/blocks/sdf-iris",
"catalog/blocks/swirl-vortex",
"catalog/blocks/thermal-distortion",
"catalog/blocks/whip-pan"
]
},
{
"group": "CSS Transitions",
"pages": [
"catalog/blocks/transitions-3d",
"catalog/blocks/transitions-blur",
"catalog/blocks/transitions-cover",
"catalog/blocks/transitions-destruction",
"catalog/blocks/transitions-dissolve",
"catalog/blocks/transitions-distortion",
"catalog/blocks/transitions-grid",
"catalog/blocks/transitions-light",
"catalog/blocks/transitions-mechanical",
"catalog/blocks/transitions-other",
"catalog/blocks/transitions-push",
"catalog/blocks/transitions-radial",
"catalog/blocks/transitions-scale"
]
},
{
"group": "Showcases",
"pages": [
"catalog/blocks/app-showcase",
feat: add Stronkter catalog blocks (#570) ## Problem The Catalog did not include the four prompt-matched Stronkter one-shot HyperFrames projects, and registry metadata only supported a plain author string, so there was no structured way to show creator attribution or the original generation prompt on generated catalog pages. ## What this fixes - Adds four Catalog blocks matching the provided prompts, in order: - `north-korea-locked-down` - `apple-money-count` - `nyc-paris-flight` - `goonvpn-youtube-spot` - Attributes each block to [Stronkter](https://x.com/Stronkter). - Stores and renders the original source prompt for each generated catalog page. - Adds a local realistic map plate for the North Korea block so rendering does not depend on live map tile requests. - Extends registry item metadata/schema with `authorUrl` and `sourcePrompt`. - Updates catalog page generation to read items from `registry/registry.json`, keeping generated docs aligned to the public registry manifest. - Ignores normal browser media preload `net::ERR_ABORTED` request failures for media assets during `hyperframes validate`, while preserving failures for real missing assets. ## Root cause The imported projects are Catalog-ready compositions, but the registry/docs pipeline did not have first-class source-prompt or linked-author fields to expose creator credit on generated MDX pages. The audio-backed compositions also surfaced a validation edge case: Chrome can report aborted media preload requests as `net::ERR_ABORTED` even when the audio file exists and playback is valid. ## Verification ### Local - `bun run --filter @hyperframes/cli test src/commands/validate.test.ts` - `bun run --filter @hyperframes/core test src/registry/types.test.ts` - `bun run sync-schemas:check` - `bunx oxlint packages/cli/src/commands/validate.ts packages/cli/src/commands/validate.test.ts packages/core/src/registry/types.ts packages/core/src/registry/types.test.ts scripts/generate-catalog-pages.ts` - `bunx oxfmt --check ...` on changed source, registry, docs, and composition files - `git diff --check` - `bun packages/cli/src/cli.ts lint` and `validate` against temp installed projects for all four blocks - Lefthook pre-commit: lint/format/typecheck on the initial commit, plus format on the amend - Lefthook commit-msg: commitlint ### Browser - Exercised all four blocks through HyperFrames preview routes with `agent-browser`. - Captured playback screenshots and WebM recordings for: - `north-korea-locked-down` - `apple-money-count` - `nyc-paris-flight` - `goonvpn-youtube-spot` ## Notes - The zip also contained unrelated project directories, but this PR intentionally includes only the four prompt-matched Catalog blocks requested here. - The imported one-shot compositions may trigger the existing large-composition lint warning, but there are no lint errors and runtime validation passes.
2026-04-29 22:59:19 +02:00
"catalog/blocks/apple-money-count",
"catalog/blocks/goonvpn-youtube-spot",
"catalog/blocks/north-korea-locked-down",
"catalog/blocks/nyc-paris-flight",
feat(registry): seed transition blocks — 14 shader + 14 CSS showcase (#270) ## What Add 28 transition blocks from the Hyperframe Template Structure catalog, bringing the registry to 53 total items. ### Shader transitions (14 blocks, WebGL, 4s each) `domain-warp-dissolve`, `ridged-burn`, `whip-pan`, `sdf-iris`, `ripple-waves`, `gravitational-lens`, `cinematic-zoom`, `chromatic-radial-split`, `glitch`, `swirl-vortex`, `thermal-distortion`, `flash-through-white`, `cross-warp-morph`, `light-leak` ### CSS transition showcases (14 blocks, various durations) `transitions-3d`, `transitions-blur`, `transitions-cover`, `transitions-destruction`, `transitions-dissolve`, `transitions-distortion`, `transitions-grid`, `transitions-light`, `transitions-mechanical`, `transitions-other`, `transitions-push`, `transitions-radial`, `transitions-scale`, `transitions-shader` ## Why Phase D content accumulation. Transitions are the most-requested category for the catalog. ## How - Shader transitions extracted from `shader-showcase.zip`, each a standalone HTML with WebGL shaders - CSS transitions extracted from `showcase-bundle.zip`, each a standalone showcase page - All tagged with `transition` + `shader` or `showcase` for catalog grouping - Preview thumbnails generated for all 28 blocks - Catalog pages + index regenerated ## Test plan - [x] All 28 blocks produce preview thumbnails - [x] `registry-item.json` validates for all blocks - [x] Catalog pages generated (45 total items in catalog-index.json) - [x] `oxfmt --check` passes
2026-04-14 16:32:27 -07:00
"catalog/blocks/ui-3d-reveal"
]
},
{
"group": "Data",
"pages": [
"catalog/blocks/data-chart"
]
},
{
"group": "Effects",
feat(skills): hyperframes-registry skill (#261) ## What New skill `hyperframes-registry` that teaches AI coding agents how to install and wire registry blocks and components into HyperFrames compositions. ### Skill structure ``` skills/hyperframes-registry/ SKILL.md — triggers, overview, quick reference references/ install-locations.md — default paths, hyperframes.json config wiring-blocks.md — iframe inclusion, data attributes, positioning wiring-components.md — snippet merging (HTML, CSS, JS, timeline) discovery.md — manifest reading, item fields, available items table demo-html-pattern.md — why components ship demo.html, structure conventions examples/ add-block.md — worked example: data-chart block install + wiring add-component.md — worked example: shimmer-sweep component install + wiring ``` ## Why Phase B of the catalog plan (PR 10). Without this skill, agents using `hyperframes add` have to guess how to wire installed items into compositions. The skill encodes the iframe/snippet patterns so agents get it right on the first attempt. ## How - SKILL.md frontmatter triggers on: `hyperframes add`, "block", "component", `hyperframes.json` - References cover every step: discovery, install, wiring blocks (iframe), wiring components (snippet merge), and the demo.html convention - Two worked examples walk through complete install-to-preview workflows - Updated CLAUDE.md skills table + trigger rules, README.md skills table, docs/packages/cli.mdx ## Test plan - [x] `scripts/lint-skills.ts` passes (checked 4 skill files, no issues) - [x] `oxfmt --check` passes on all markdown files - [x] SKILL.md frontmatter has valid `name` and `description` - [x] All reference links in SKILL.md resolve to existing files - [x] CLAUDE.md, README.md, and docs CLI page updated with new skill
2026-04-14 16:27:24 -07:00
"pages": [
"catalog/components/grain-overlay",
"catalog/components/grid-pixelate-wipe",
"catalog/components/shimmer-sweep"
]
feat(registry): seed transition blocks — 14 shader + 14 CSS showcase (#270) ## What Add 28 transition blocks from the Hyperframe Template Structure catalog, bringing the registry to 53 total items. ### Shader transitions (14 blocks, WebGL, 4s each) `domain-warp-dissolve`, `ridged-burn`, `whip-pan`, `sdf-iris`, `ripple-waves`, `gravitational-lens`, `cinematic-zoom`, `chromatic-radial-split`, `glitch`, `swirl-vortex`, `thermal-distortion`, `flash-through-white`, `cross-warp-morph`, `light-leak` ### CSS transition showcases (14 blocks, various durations) `transitions-3d`, `transitions-blur`, `transitions-cover`, `transitions-destruction`, `transitions-dissolve`, `transitions-distortion`, `transitions-grid`, `transitions-light`, `transitions-mechanical`, `transitions-other`, `transitions-push`, `transitions-radial`, `transitions-scale`, `transitions-shader` ## Why Phase D content accumulation. Transitions are the most-requested category for the catalog. ## How - Shader transitions extracted from `shader-showcase.zip`, each a standalone HTML with WebGL shaders - CSS transitions extracted from `showcase-bundle.zip`, each a standalone showcase page - All tagged with `transition` + `shader` or `showcase` for catalog grouping - Preview thumbnails generated for all 28 blocks - Catalog pages + index regenerated ## Test plan - [x] All 28 blocks produce preview thumbnails - [x] `registry-item.json` validates for all blocks - [x] Catalog pages generated (45 total items in catalog-index.json) - [x] `oxfmt --check` passes
2026-04-14 16:32:27 -07:00
},
{
"group": "Blocks",
"pages": [
"catalog/blocks/flowchart",
"catalog/blocks/logo-outro"
]
}
]
},
{
"tab": "Packages",
"groups": [
{
"group": "Packages",
"pages": [
"packages/core",
"packages/engine",
"packages/player",
"packages/producer",
"packages/studio",
"packages/cli"
]
feat(skills): hyperframes-registry skill (#261) ## What New skill `hyperframes-registry` that teaches AI coding agents how to install and wire registry blocks and components into HyperFrames compositions. ### Skill structure ``` skills/hyperframes-registry/ SKILL.md — triggers, overview, quick reference references/ install-locations.md — default paths, hyperframes.json config wiring-blocks.md — iframe inclusion, data attributes, positioning wiring-components.md — snippet merging (HTML, CSS, JS, timeline) discovery.md — manifest reading, item fields, available items table demo-html-pattern.md — why components ship demo.html, structure conventions examples/ add-block.md — worked example: data-chart block install + wiring add-component.md — worked example: shimmer-sweep component install + wiring ``` ## Why Phase B of the catalog plan (PR 10). Without this skill, agents using `hyperframes add` have to guess how to wire installed items into compositions. The skill encodes the iframe/snippet patterns so agents get it right on the first attempt. ## How - SKILL.md frontmatter triggers on: `hyperframes add`, "block", "component", `hyperframes.json` - References cover every step: discovery, install, wiring blocks (iframe), wiring components (snippet merge), and the demo.html convention - Two worked examples walk through complete install-to-preview workflows - Updated CLAUDE.md skills table + trigger rules, README.md skills table, docs/packages/cli.mdx ## Test plan - [x] `scripts/lint-skills.ts` passes (checked 4 skill files, no issues) - [x] `oxfmt --check` passes on all markdown files - [x] SKILL.md frontmatter has valid `name` and `description` - [x] All reference links in SKILL.md resolve to existing files - [x] CLAUDE.md, README.md, and docs CLI page updated with new skill
2026-04-14 16:27:24 -07:00
}
]
},
{
"tab": "Reference",
"groups": [
{
"group": "Reference",
feat(skills): hyperframes-registry skill (#261) ## What New skill `hyperframes-registry` that teaches AI coding agents how to install and wire registry blocks and components into HyperFrames compositions. ### Skill structure ``` skills/hyperframes-registry/ SKILL.md — triggers, overview, quick reference references/ install-locations.md — default paths, hyperframes.json config wiring-blocks.md — iframe inclusion, data attributes, positioning wiring-components.md — snippet merging (HTML, CSS, JS, timeline) discovery.md — manifest reading, item fields, available items table demo-html-pattern.md — why components ship demo.html, structure conventions examples/ add-block.md — worked example: data-chart block install + wiring add-component.md — worked example: shimmer-sweep component install + wiring ``` ## Why Phase B of the catalog plan (PR 10). Without this skill, agents using `hyperframes add` have to guess how to wire installed items into compositions. The skill encodes the iframe/snippet patterns so agents get it right on the first attempt. ## How - SKILL.md frontmatter triggers on: `hyperframes add`, "block", "component", `hyperframes.json` - References cover every step: discovery, install, wiring blocks (iframe), wiring components (snippet merge), and the demo.html convention - Two worked examples walk through complete install-to-preview workflows - Updated CLAUDE.md skills table + trigger rules, README.md skills table, docs/packages/cli.mdx ## Test plan - [x] `scripts/lint-skills.ts` passes (checked 4 skill files, no issues) - [x] `oxfmt --check` passes on all markdown files - [x] SKILL.md frontmatter has valid `name` and `description` - [x] All reference links in SKILL.md resolve to existing files - [x] CLAUDE.md, README.md, and docs CLI page updated with new skill
2026-04-14 16:27:24 -07:00
"pages": [
"reference/html-schema"
]
},
{
"group": "Contributing",
feat(skills): hyperframes-registry skill (#261) ## What New skill `hyperframes-registry` that teaches AI coding agents how to install and wire registry blocks and components into HyperFrames compositions. ### Skill structure ``` skills/hyperframes-registry/ SKILL.md — triggers, overview, quick reference references/ install-locations.md — default paths, hyperframes.json config wiring-blocks.md — iframe inclusion, data attributes, positioning wiring-components.md — snippet merging (HTML, CSS, JS, timeline) discovery.md — manifest reading, item fields, available items table demo-html-pattern.md — why components ship demo.html, structure conventions examples/ add-block.md — worked example: data-chart block install + wiring add-component.md — worked example: shimmer-sweep component install + wiring ``` ## Why Phase B of the catalog plan (PR 10). Without this skill, agents using `hyperframes add` have to guess how to wire installed items into compositions. The skill encodes the iframe/snippet patterns so agents get it right on the first attempt. ## How - SKILL.md frontmatter triggers on: `hyperframes add`, "block", "component", `hyperframes.json` - References cover every step: discovery, install, wiring blocks (iframe), wiring components (snippet merge), and the demo.html convention - Two worked examples walk through complete install-to-preview workflows - Updated CLAUDE.md skills table + trigger rules, README.md skills table, docs/packages/cli.mdx ## Test plan - [x] `scripts/lint-skills.ts` passes (checked 4 skill files, no issues) - [x] `oxfmt --check` passes on all markdown files - [x] SKILL.md frontmatter has valid `name` and `description` - [x] All reference links in SKILL.md resolve to existing files - [x] CLAUDE.md, README.md, and docs CLI page updated with new skill
2026-04-14 16:27:24 -07:00
"pages": [
"contributing",
"contributing/release-channels",
feat(skills): hyperframes-registry skill (#261) ## What New skill `hyperframes-registry` that teaches AI coding agents how to install and wire registry blocks and components into HyperFrames compositions. ### Skill structure ``` skills/hyperframes-registry/ SKILL.md — triggers, overview, quick reference references/ install-locations.md — default paths, hyperframes.json config wiring-blocks.md — iframe inclusion, data attributes, positioning wiring-components.md — snippet merging (HTML, CSS, JS, timeline) discovery.md — manifest reading, item fields, available items table demo-html-pattern.md — why components ship demo.html, structure conventions examples/ add-block.md — worked example: data-chart block install + wiring add-component.md — worked example: shimmer-sweep component install + wiring ``` ## Why Phase B of the catalog plan (PR 10). Without this skill, agents using `hyperframes add` have to guess how to wire installed items into compositions. The skill encodes the iframe/snippet patterns so agents get it right on the first attempt. ## How - SKILL.md frontmatter triggers on: `hyperframes add`, "block", "component", `hyperframes.json` - References cover every step: discovery, install, wiring blocks (iframe), wiring components (snippet merge), and the demo.html convention - Two worked examples walk through complete install-to-preview workflows - Updated CLAUDE.md skills table + trigger rules, README.md skills table, docs/packages/cli.mdx ## Test plan - [x] `scripts/lint-skills.ts` passes (checked 4 skill files, no issues) - [x] `oxfmt --check` passes on all markdown files - [x] SKILL.md frontmatter has valid `name` and `description` - [x] All reference links in SKILL.md resolve to existing files - [x] CLAUDE.md, README.md, and docs CLI page updated with new skill
2026-04-14 16:27:24 -07:00
"contributing/testing-local-changes"
]
},
{
"group": "Community",
"pages": [
"community/adopters"
]
}
]
}
]
},
"footer": {
"socials": {
"github": "https://github.com/heygen-com/hyperframes"
}
}
}