-
Acme
+
HyperFrames
- Features
- Pricing
- Blog
+ Docs
+ Catalog
+ GitHub
-
Build products
users love
+
Write HTML
Render Video
Ship faster with a platform that handles the hard parts. Analytics, infrastructure,
and developer tools — all in one place.
-
+
diff --git a/registry/blocks/vfx-shatter/vfx-shatter.html b/registry/blocks/vfx-shatter/vfx-shatter.html
index de8966ab4..ab5a7dd21 100644
--- a/registry/blocks/vfx-shatter/vfx-shatter.html
+++ b/registry/blocks/vfx-shatter/vfx-shatter.html
@@ -48,7 +48,7 @@
color: #fff;
}
- /* ── Panel A: Introducing v2.0 ─────────────────────────── */
+ /* ── Panel A: Write HTML, Render Video ─────────────────────────── */
.panel-a-inner {
width: 100%;
height: 100%;
@@ -377,7 +377,7 @@
- Introducing v2.0
+ Write HTML, Render Video
Everything you loved.
Now 10x faster.
@@ -442,7 +442,7 @@
Real-time Analytics
-
+
@@ -467,26 +467,26 @@
Real-time Analytics
-
✓ Upgrade Complete
+
✓ Powered by HyperFrames
-
You're on v2.0
+
HTML is Video
10x
-
Faster
+
Render Speed
50%
-
Smaller
+
File Size
99.99%
-
Uptime
+
Reliability
-
+
diff --git a/registry/registry.json b/registry/registry.json
index 0c41f7409..52660dc00 100644
--- a/registry/registry.json
+++ b/registry/registry.json
@@ -223,26 +223,6 @@
"name": "transitions-scale",
"type": "hyperframes:block"
},
- {
- "name": "captions-slam",
- "type": "hyperframes:block"
- },
- {
- "name": "captions-karaoke",
- "type": "hyperframes:block"
- },
- {
- "name": "captions-minimal",
- "type": "hyperframes:block"
- },
- {
- "name": "captions-bounce",
- "type": "hyperframes:block"
- },
- {
- "name": "captions-cinematic",
- "type": "hyperframes:block"
- },
{
"name": "vfx-text-cursor",
"type": "hyperframes:block"
@@ -272,4 +252,4 @@
"type": "hyperframes:block"
}
]
-}
+}
\ No newline at end of file
diff --git a/scripts/generate-catalog-pages.ts b/scripts/generate-catalog-pages.ts
index 489f6ad7a..d95acc25b 100644
--- a/scripts/generate-catalog-pages.ts
+++ b/scripts/generate-catalog-pages.ts
@@ -119,6 +119,15 @@ function generateItemMdx(kind: ItemKind, manifest: RegistryItem): string {
lines.push(tagBadges, "");
}
+ if (tags.includes("html-in-canvas")) {
+ lines.push(
+ `
`,
+ `**Requires Chrome flag.** Enable \`chrome://flags/#canvas-draw-element\` for live preview. Rendering via CLI enables the flag automatically. [Learn more](/guides/html-in-canvas).`,
+ ``,
+ "",
+ );
+ }
+
if (manifest.author) {
const author = source.authorUrl ? `[${manifest.author}](${source.authorUrl})` : manifest.author;
lines.push(`Created by ${author}.`, "");
@@ -274,13 +283,14 @@ function main(): void {
// Items with the same first tag are grouped together. Items without tags
// go into an "Other" group. Groups are sorted with a priority order.
const GROUP_ORDER: Record
= {
- "Social Overlays": 0,
- "Shader Transitions": 1,
- "CSS Transitions": 2,
- Showcases: 3,
- Data: 4,
- Effects: 5,
- Blocks: 6,
+ "HTML-in-Canvas": 0,
+ "Social Overlays": 2,
+ "Shader Transitions": 3,
+ "CSS Transitions": 4,
+ Showcases: 5,
+ Data: 6,
+ Effects: 7,
+ Blocks: 8,
};
function groupForItem(entry: CatalogEntry): string {
@@ -288,6 +298,8 @@ function main(): void {
// Two-tag combos for specific grouping
if (tags.includes("transition") && tags.includes("shader")) return "Shader Transitions";
if (tags.includes("transition") && tags.includes("showcase")) return "CSS Transitions";
+ // HTML-in-Canvas and Captions categories
+ if (tags.includes("html-in-canvas")) return "HTML-in-Canvas";
// Single-tag mapping
if (tags.includes("social")) return "Social Overlays";
if (tags.includes("transition"))