diff --git a/docs/catalog/blocks/hw-frame.mdx b/docs/catalog/blocks/hw-frame.mdx
new file mode 100644
index 0000000000..0c4e8a60ce
--- /dev/null
+++ b/docs/catalog/blocks/hw-frame.mdx
@@ -0,0 +1,44 @@
+---
+title: "Sketched Frame"
+description: "Media in a hand-drawn border with corner doodles and a handwritten caption; the unit tilts slightly and boils (images inside the block; keep live footage in the host)"
+---
+
+# Sketched Frame
+
+Media in a hand-drawn border with corner doodles and a handwritten caption; the unit tilts slightly and boils (images inside the block; keep live footage in the host)
+
+`handwritten` `frame` `media`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add hw-frame
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Block |
+| Dimensions | 1920×1080 |
+| Duration | 8s |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `hw-frame.html` | `compositions/hw-frame.html` | hyperframes:composition |
+
+## Usage
+
+After installing, add the block to your host composition:
+
+```html
+
+```
diff --git a/docs/catalog/blocks/hw-path-text.mdx b/docs/catalog/blocks/hw-path-text.mdx
new file mode 100644
index 0000000000..bb6119d0d7
--- /dev/null
+++ b/docs/catalog/blocks/hw-path-text.mdx
@@ -0,0 +1,44 @@
+---
+title: "Text Along a Path"
+description: "Handwriting flowing along any SVG path with a per-character reveal; the path is the only geometry input"
+---
+
+# Text Along a Path
+
+Handwriting flowing along any SVG path with a per-character reveal; the path is the only geometry input
+
+`handwritten` `typography` `path`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add hw-path-text
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Block |
+| Dimensions | 1920×1080 |
+| Duration | 6s |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `hw-path-text.html` | `compositions/hw-path-text.html` | hyperframes:composition |
+
+## Usage
+
+After installing, add the block to your host composition:
+
+```html
+
+```
diff --git a/docs/catalog/blocks/hw-pipeline.mdx b/docs/catalog/blocks/hw-pipeline.mdx
new file mode 100644
index 0000000000..79be56e88d
--- /dev/null
+++ b/docs/catalog/blocks/hw-pipeline.mdx
@@ -0,0 +1,44 @@
+---
+title: "Hand-Drawn Flowchart"
+description: "Wobbled boxes with handwritten labels joined by curved connectors, drawing on in sequence from a node list"
+---
+
+# Hand-Drawn Flowchart
+
+Wobbled boxes with handwritten labels joined by curved connectors, drawing on in sequence from a node list
+
+`handwritten` `diagram` `data-viz`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add hw-pipeline
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Block |
+| Dimensions | 1920×1080 |
+| Duration | 7s |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `hw-pipeline.html` | `compositions/hw-pipeline.html` | hyperframes:composition |
+
+## Usage
+
+After installing, add the block to your host composition:
+
+```html
+
+```
diff --git a/docs/catalog/blocks/hw-scribble-transition.mdx b/docs/catalog/blocks/hw-scribble-transition.mdx
new file mode 100644
index 0000000000..cc49439c7b
--- /dev/null
+++ b/docs/catalog/blocks/hw-scribble-transition.mdx
@@ -0,0 +1,44 @@
+---
+title: "Scribble Transition"
+description: "Overlay transition: scribble bands accumulate to cover the frame with a solid backstop, the host cuts beneath, and the scribble clears"
+---
+
+# Scribble Transition
+
+Overlay transition: scribble bands accumulate to cover the frame with a solid backstop, the host cuts beneath, and the scribble clears
+
+`handwritten` `transition` `wipe`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add hw-scribble-transition
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Block |
+| Dimensions | 1920×1080 |
+| Duration | 2.2s |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `hw-scribble-transition.html` | `compositions/hw-scribble-transition.html` | hyperframes:composition |
+
+## Usage
+
+After installing, add the block to your host composition:
+
+```html
+
+```
diff --git a/docs/catalog/blocks/hw-text-cloud.mdx b/docs/catalog/blocks/hw-text-cloud.mdx
new file mode 100644
index 0000000000..a57ec19b24
--- /dev/null
+++ b/docs/catalog/blocks/hw-text-cloud.mdx
@@ -0,0 +1,44 @@
+---
+title: "Speech Bubble"
+description: "Hand-drawn speech bubble with a positionable tail: outline draws on, paper fill fades in, handwritten text types per character; boils"
+---
+
+# Speech Bubble
+
+Hand-drawn speech bubble with a positionable tail: outline draws on, paper fill fades in, handwritten text types per character; boils
+
+`handwritten` `speech-bubble` `overlay`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add hw-text-cloud
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Block |
+| Dimensions | 1920×1080 |
+| Duration | 6s |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `hw-text-cloud.html` | `compositions/hw-text-cloud.html` | hyperframes:composition |
+
+## Usage
+
+After installing, add the block to your host composition:
+
+```html
+
+```
diff --git a/docs/catalog/blocks/hw-title.mdx b/docs/catalog/blocks/hw-title.mdx
new file mode 100644
index 0000000000..cca3fb7640
--- /dev/null
+++ b/docs/catalog/blocks/hw-title.mdx
@@ -0,0 +1,44 @@
+---
+title: "Handwritten Title"
+description: "Handwritten display text with a scalar-driven word-by-word highlight sweep and a seeded squiggle underline sized to the text; boils"
+---
+
+# Handwritten Title
+
+Handwritten display text with a scalar-driven word-by-word highlight sweep and a seeded squiggle underline sized to the text; boils
+
+`handwritten` `typography` `title-card`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add hw-title
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Block |
+| Dimensions | 1920×1080 |
+| Duration | 6s |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `hw-title.html` | `compositions/hw-title.html` | hyperframes:composition |
+
+## Usage
+
+After installing, add the block to your host composition:
+
+```html
+
+```
diff --git a/docs/catalog/components/hw-arrow.mdx b/docs/catalog/components/hw-arrow.mdx
new file mode 100644
index 0000000000..62cb016449
--- /dev/null
+++ b/docs/catalog/components/hw-arrow.mdx
@@ -0,0 +1,38 @@
+---
+title: "Hand-Drawn Arrow"
+description: "Wobbled draw-on arrow with straight, gentle, and swoop curve presets; boils while on screen"
+---
+
+# Hand-Drawn Arrow
+
+Wobbled draw-on arrow with straight, gentle, and swoop curve presets; boils while on screen
+
+`handwritten` `annotation` `arrow` `overlay`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add hw-arrow
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Component |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `hw-arrow.html` | `compositions/components/hw-arrow.html` | hyperframes:snippet |
+
+## Usage
+
+Read the installed file and copy its CSS, markup pattern, and helper functions into your host composition — the parent timeline owns all timing. The file's header comment documents the wiring calls.
diff --git a/docs/catalog/components/hw-boil.mdx b/docs/catalog/components/hw-boil.mdx
new file mode 100644
index 0000000000..34710f90fc
--- /dev/null
+++ b/docs/catalog/components/hw-boil.mdx
@@ -0,0 +1,38 @@
+---
+title: "Hand-Drawn Boil"
+description: "Hand-drawn jitter that re-poses every N frames, as seek-safe helpers: pose derives from quantized timeline time through a seeded hash; includes the shared onUpdate dispatcher and a wobbled-ellipse path generator"
+---
+
+# Hand-Drawn Boil
+
+Hand-drawn jitter that re-poses every N frames, as seek-safe helpers: pose derives from quantized timeline time through a seeded hash; includes the shared onUpdate dispatcher and a wobbled-ellipse path generator
+
+`handwritten` `effect` `annotation`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add hw-boil
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Component |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `hw-boil.html` | `compositions/components/hw-boil.html` | hyperframes:snippet |
+
+## Usage
+
+Read the installed file and copy its CSS, markup pattern, and helper functions into your host composition — the parent timeline owns all timing. The file's header comment documents the wiring calls.
diff --git a/docs/catalog/components/hw-box-label.mdx b/docs/catalog/components/hw-box-label.mdx
new file mode 100644
index 0000000000..59afb61e37
--- /dev/null
+++ b/docs/catalog/components/hw-box-label.mdx
@@ -0,0 +1,38 @@
+---
+title: "Hand-Drawn Box Label"
+description: "Wobbled rounded rectangle draws around a region with a handwritten label above or centered"
+---
+
+# Hand-Drawn Box Label
+
+Wobbled rounded rectangle draws around a region with a handwritten label above or centered
+
+`handwritten` `annotation` `overlay`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add hw-box-label
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Component |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `hw-box-label.html` | `compositions/components/hw-box-label.html` | hyperframes:snippet |
+
+## Usage
+
+Read the installed file and copy its CSS, markup pattern, and helper functions into your host composition — the parent timeline owns all timing. The file's header comment documents the wiring calls.
diff --git a/docs/catalog/components/hw-callout-circle.mdx b/docs/catalog/components/hw-callout-circle.mdx
new file mode 100644
index 0000000000..8f075c56cc
--- /dev/null
+++ b/docs/catalog/components/hw-callout-circle.mdx
@@ -0,0 +1,38 @@
+---
+title: "Scribble Callout Circle"
+description: "Wobbled ellipse draws around a target with optional scribble fill, curved connector, and handwritten label"
+---
+
+# Scribble Callout Circle
+
+Wobbled ellipse draws around a target with optional scribble fill, curved connector, and handwritten label
+
+`handwritten` `annotation` `callout` `overlay`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add hw-callout-circle
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Component |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `hw-callout-circle.html` | `compositions/components/hw-callout-circle.html` | hyperframes:snippet |
+
+## Usage
+
+Read the installed file and copy its CSS, markup pattern, and helper functions into your host composition — the parent timeline owns all timing. The file's header comment documents the wiring calls.
diff --git a/docs/catalog/components/hw-underline.mdx b/docs/catalog/components/hw-underline.mdx
new file mode 100644
index 0000000000..739d375fa1
--- /dev/null
+++ b/docs/catalog/components/hw-underline.mdx
@@ -0,0 +1,38 @@
+---
+title: "Squiggle Marks"
+description: "Hand-drawn squiggle underline, double-pass strikethrough, and bracket marks that draw on"
+---
+
+# Squiggle Marks
+
+Hand-drawn squiggle underline, double-pass strikethrough, and bracket marks that draw on
+
+`handwritten` `annotation` `text-treatment`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add hw-underline
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Component |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `hw-underline.html` | `compositions/components/hw-underline.html` | hyperframes:snippet |
+
+## Usage
+
+Read the installed file and copy its CSS, markup pattern, and helper functions into your host composition — the parent timeline owns all timing. The file's header comment documents the wiring calls.
diff --git a/registry/blocks/hw-frame/assets/fonts/Caveat-700-latin.woff2 b/registry/blocks/hw-frame/assets/fonts/Caveat-700-latin.woff2
new file mode 100644
index 0000000000..5a3423426f
Binary files /dev/null and b/registry/blocks/hw-frame/assets/fonts/Caveat-700-latin.woff2 differ
diff --git a/registry/blocks/hw-frame/hw-frame.html b/registry/blocks/hw-frame/hw-frame.html
new file mode 100644
index 0000000000..37d035c5f0
--- /dev/null
+++ b/registry/blocks/hw-frame/hw-frame.html
@@ -0,0 +1,285 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/registry/blocks/hw-frame/registry-item.json b/registry/blocks/hw-frame/registry-item.json
new file mode 100644
index 0000000000..fc35b3a694
--- /dev/null
+++ b/registry/blocks/hw-frame/registry-item.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "hw-frame",
+ "type": "hyperframes:block",
+ "title": "Sketched Frame",
+ "description": "Media in a hand-drawn border with corner doodles and a handwritten caption; the unit tilts slightly and boils (images inside the block; keep live footage in the host)",
+ "tags": [
+ "handwritten",
+ "frame",
+ "media"
+ ],
+ "dimensions": {
+ "width": 1920,
+ "height": 1080
+ },
+ "duration": 8,
+ "files": [
+ {
+ "path": "hw-frame.html",
+ "target": "compositions/hw-frame.html",
+ "type": "hyperframes:composition"
+ },
+ {
+ "path": "assets/fonts/Caveat-700-latin.woff2",
+ "target": "assets/fonts/Caveat-700-latin.woff2",
+ "type": "hyperframes:asset"
+ }
+ ]
+}
diff --git a/registry/blocks/hw-path-text/assets/fonts/Caveat-700-latin.woff2 b/registry/blocks/hw-path-text/assets/fonts/Caveat-700-latin.woff2
new file mode 100644
index 0000000000..5a3423426f
Binary files /dev/null and b/registry/blocks/hw-path-text/assets/fonts/Caveat-700-latin.woff2 differ
diff --git a/registry/blocks/hw-path-text/hw-path-text.html b/registry/blocks/hw-path-text/hw-path-text.html
new file mode 100644
index 0000000000..713a1812d9
--- /dev/null
+++ b/registry/blocks/hw-path-text/hw-path-text.html
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/registry/blocks/hw-path-text/registry-item.json b/registry/blocks/hw-path-text/registry-item.json
new file mode 100644
index 0000000000..cfff0249a5
--- /dev/null
+++ b/registry/blocks/hw-path-text/registry-item.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "hw-path-text",
+ "type": "hyperframes:block",
+ "title": "Text Along a Path",
+ "description": "Handwriting flowing along any SVG path with a per-character reveal; the path is the only geometry input",
+ "tags": [
+ "handwritten",
+ "typography",
+ "path"
+ ],
+ "dimensions": {
+ "width": 1920,
+ "height": 1080
+ },
+ "duration": 6,
+ "files": [
+ {
+ "path": "hw-path-text.html",
+ "target": "compositions/hw-path-text.html",
+ "type": "hyperframes:composition"
+ },
+ {
+ "path": "assets/fonts/Caveat-700-latin.woff2",
+ "target": "assets/fonts/Caveat-700-latin.woff2",
+ "type": "hyperframes:asset"
+ }
+ ]
+}
diff --git a/registry/blocks/hw-pipeline/assets/fonts/Caveat-700-latin.woff2 b/registry/blocks/hw-pipeline/assets/fonts/Caveat-700-latin.woff2
new file mode 100644
index 0000000000..5a3423426f
Binary files /dev/null and b/registry/blocks/hw-pipeline/assets/fonts/Caveat-700-latin.woff2 differ
diff --git a/registry/blocks/hw-pipeline/hw-pipeline.html b/registry/blocks/hw-pipeline/hw-pipeline.html
new file mode 100644
index 0000000000..9fa69f470b
--- /dev/null
+++ b/registry/blocks/hw-pipeline/hw-pipeline.html
@@ -0,0 +1,268 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/registry/blocks/hw-pipeline/registry-item.json b/registry/blocks/hw-pipeline/registry-item.json
new file mode 100644
index 0000000000..e33b1ae110
--- /dev/null
+++ b/registry/blocks/hw-pipeline/registry-item.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "hw-pipeline",
+ "type": "hyperframes:block",
+ "title": "Hand-Drawn Flowchart",
+ "description": "Wobbled boxes with handwritten labels joined by curved connectors, drawing on in sequence from a node list",
+ "tags": [
+ "handwritten",
+ "diagram",
+ "data-viz"
+ ],
+ "dimensions": {
+ "width": 1920,
+ "height": 1080
+ },
+ "duration": 7,
+ "files": [
+ {
+ "path": "hw-pipeline.html",
+ "target": "compositions/hw-pipeline.html",
+ "type": "hyperframes:composition"
+ },
+ {
+ "path": "assets/fonts/Caveat-700-latin.woff2",
+ "target": "assets/fonts/Caveat-700-latin.woff2",
+ "type": "hyperframes:asset"
+ }
+ ]
+}
diff --git a/registry/blocks/hw-scribble-transition/hw-scribble-transition.html b/registry/blocks/hw-scribble-transition/hw-scribble-transition.html
new file mode 100644
index 0000000000..2e7c6983c3
--- /dev/null
+++ b/registry/blocks/hw-scribble-transition/hw-scribble-transition.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/registry/blocks/hw-scribble-transition/registry-item.json b/registry/blocks/hw-scribble-transition/registry-item.json
new file mode 100644
index 0000000000..d996159e1c
--- /dev/null
+++ b/registry/blocks/hw-scribble-transition/registry-item.json
@@ -0,0 +1,24 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "hw-scribble-transition",
+ "type": "hyperframes:block",
+ "title": "Scribble Transition",
+ "description": "Overlay transition: scribble bands accumulate to cover the frame with a solid backstop, the host cuts beneath, and the scribble clears",
+ "tags": [
+ "handwritten",
+ "transition",
+ "wipe"
+ ],
+ "dimensions": {
+ "width": 1920,
+ "height": 1080
+ },
+ "duration": 2.2,
+ "files": [
+ {
+ "path": "hw-scribble-transition.html",
+ "target": "compositions/hw-scribble-transition.html",
+ "type": "hyperframes:composition"
+ }
+ ]
+}
diff --git a/registry/blocks/hw-text-cloud/assets/fonts/Caveat-700-latin.woff2 b/registry/blocks/hw-text-cloud/assets/fonts/Caveat-700-latin.woff2
new file mode 100644
index 0000000000..5a3423426f
Binary files /dev/null and b/registry/blocks/hw-text-cloud/assets/fonts/Caveat-700-latin.woff2 differ
diff --git a/registry/blocks/hw-text-cloud/hw-text-cloud.html b/registry/blocks/hw-text-cloud/hw-text-cloud.html
new file mode 100644
index 0000000000..89acf8a6ef
--- /dev/null
+++ b/registry/blocks/hw-text-cloud/hw-text-cloud.html
@@ -0,0 +1,260 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/registry/blocks/hw-text-cloud/registry-item.json b/registry/blocks/hw-text-cloud/registry-item.json
new file mode 100644
index 0000000000..508ab63491
--- /dev/null
+++ b/registry/blocks/hw-text-cloud/registry-item.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "hw-text-cloud",
+ "type": "hyperframes:block",
+ "title": "Speech Bubble",
+ "description": "Hand-drawn speech bubble with a positionable tail: outline draws on, paper fill fades in, handwritten text types per character; boils",
+ "tags": [
+ "handwritten",
+ "speech-bubble",
+ "overlay"
+ ],
+ "dimensions": {
+ "width": 1920,
+ "height": 1080
+ },
+ "duration": 6,
+ "files": [
+ {
+ "path": "hw-text-cloud.html",
+ "target": "compositions/hw-text-cloud.html",
+ "type": "hyperframes:composition"
+ },
+ {
+ "path": "assets/fonts/Caveat-700-latin.woff2",
+ "target": "assets/fonts/Caveat-700-latin.woff2",
+ "type": "hyperframes:asset"
+ }
+ ]
+}
diff --git a/registry/blocks/hw-title/assets/fonts/Caveat-700-latin.woff2 b/registry/blocks/hw-title/assets/fonts/Caveat-700-latin.woff2
new file mode 100644
index 0000000000..5a3423426f
Binary files /dev/null and b/registry/blocks/hw-title/assets/fonts/Caveat-700-latin.woff2 differ
diff --git a/registry/blocks/hw-title/hw-title.html b/registry/blocks/hw-title/hw-title.html
new file mode 100644
index 0000000000..fe905c7335
--- /dev/null
+++ b/registry/blocks/hw-title/hw-title.html
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/registry/blocks/hw-title/registry-item.json b/registry/blocks/hw-title/registry-item.json
new file mode 100644
index 0000000000..b2ab3cf7df
--- /dev/null
+++ b/registry/blocks/hw-title/registry-item.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "hw-title",
+ "type": "hyperframes:block",
+ "title": "Handwritten Title",
+ "description": "Handwritten display text with a scalar-driven word-by-word highlight sweep and a seeded squiggle underline sized to the text; boils",
+ "tags": [
+ "handwritten",
+ "typography",
+ "title-card"
+ ],
+ "dimensions": {
+ "width": 1920,
+ "height": 1080
+ },
+ "duration": 6,
+ "files": [
+ {
+ "path": "hw-title.html",
+ "target": "compositions/hw-title.html",
+ "type": "hyperframes:composition"
+ },
+ {
+ "path": "assets/fonts/Caveat-700-latin.woff2",
+ "target": "assets/fonts/Caveat-700-latin.woff2",
+ "type": "hyperframes:asset"
+ }
+ ]
+}
diff --git a/registry/components/hw-arrow/assets/fonts/Caveat-700-latin.woff2 b/registry/components/hw-arrow/assets/fonts/Caveat-700-latin.woff2
new file mode 100644
index 0000000000..5a3423426f
Binary files /dev/null and b/registry/components/hw-arrow/assets/fonts/Caveat-700-latin.woff2 differ
diff --git a/registry/components/hw-arrow/hw-arrow.html b/registry/components/hw-arrow/hw-arrow.html
new file mode 100644
index 0000000000..bd6439740a
--- /dev/null
+++ b/registry/components/hw-arrow/hw-arrow.html
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/registry/components/hw-arrow/registry-item.json b/registry/components/hw-arrow/registry-item.json
new file mode 100644
index 0000000000..394672670a
--- /dev/null
+++ b/registry/components/hw-arrow/registry-item.json
@@ -0,0 +1,25 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "hw-arrow",
+ "type": "hyperframes:component",
+ "title": "Hand-Drawn Arrow",
+ "description": "Wobbled draw-on arrow with straight, gentle, and swoop curve presets; boils while on screen",
+ "tags": [
+ "handwritten",
+ "annotation",
+ "arrow",
+ "overlay"
+ ],
+ "files": [
+ {
+ "path": "hw-arrow.html",
+ "target": "compositions/components/hw-arrow.html",
+ "type": "hyperframes:snippet"
+ },
+ {
+ "path": "assets/fonts/Caveat-700-latin.woff2",
+ "target": "assets/fonts/Caveat-700-latin.woff2",
+ "type": "hyperframes:asset"
+ }
+ ]
+}
diff --git a/registry/components/hw-boil/assets/fonts/Caveat-700-latin.woff2 b/registry/components/hw-boil/assets/fonts/Caveat-700-latin.woff2
new file mode 100644
index 0000000000..5a3423426f
Binary files /dev/null and b/registry/components/hw-boil/assets/fonts/Caveat-700-latin.woff2 differ
diff --git a/registry/components/hw-boil/hw-boil.html b/registry/components/hw-boil/hw-boil.html
new file mode 100644
index 0000000000..c0fbc67179
--- /dev/null
+++ b/registry/components/hw-boil/hw-boil.html
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+
+
+
+
+
+
the boil
+
FRAME DROP 3
+
FRAME DROP 1
+
TEXT, AMP 1.2
+
+
+
+
+
diff --git a/registry/components/hw-boil/registry-item.json b/registry/components/hw-boil/registry-item.json
new file mode 100644
index 0000000000..2714696ecc
--- /dev/null
+++ b/registry/components/hw-boil/registry-item.json
@@ -0,0 +1,24 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "hw-boil",
+ "type": "hyperframes:component",
+ "title": "Hand-Drawn Boil",
+ "description": "Hand-drawn jitter that re-poses every N frames, as seek-safe helpers: pose derives from quantized timeline time through a seeded hash; includes the shared onUpdate dispatcher and a wobbled-ellipse path generator",
+ "tags": [
+ "handwritten",
+ "effect",
+ "annotation"
+ ],
+ "files": [
+ {
+ "path": "hw-boil.html",
+ "target": "compositions/components/hw-boil.html",
+ "type": "hyperframes:snippet"
+ },
+ {
+ "path": "assets/fonts/Caveat-700-latin.woff2",
+ "target": "assets/fonts/Caveat-700-latin.woff2",
+ "type": "hyperframes:asset"
+ }
+ ]
+}
diff --git a/registry/components/hw-box-label/assets/fonts/Caveat-700-latin.woff2 b/registry/components/hw-box-label/assets/fonts/Caveat-700-latin.woff2
new file mode 100644
index 0000000000..5a3423426f
Binary files /dev/null and b/registry/components/hw-box-label/assets/fonts/Caveat-700-latin.woff2 differ
diff --git a/registry/components/hw-box-label/hw-box-label.html b/registry/components/hw-box-label/hw-box-label.html
new file mode 100644
index 0000000000..fa15655462
--- /dev/null
+++ b/registry/components/hw-box-label/hw-box-label.html
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/registry/components/hw-box-label/registry-item.json b/registry/components/hw-box-label/registry-item.json
new file mode 100644
index 0000000000..634396e480
--- /dev/null
+++ b/registry/components/hw-box-label/registry-item.json
@@ -0,0 +1,24 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "hw-box-label",
+ "type": "hyperframes:component",
+ "title": "Hand-Drawn Box Label",
+ "description": "Wobbled rounded rectangle draws around a region with a handwritten label above or centered",
+ "tags": [
+ "handwritten",
+ "annotation",
+ "overlay"
+ ],
+ "files": [
+ {
+ "path": "hw-box-label.html",
+ "target": "compositions/components/hw-box-label.html",
+ "type": "hyperframes:snippet"
+ },
+ {
+ "path": "assets/fonts/Caveat-700-latin.woff2",
+ "target": "assets/fonts/Caveat-700-latin.woff2",
+ "type": "hyperframes:asset"
+ }
+ ]
+}
diff --git a/registry/components/hw-callout-circle/assets/fonts/Caveat-700-latin.woff2 b/registry/components/hw-callout-circle/assets/fonts/Caveat-700-latin.woff2
new file mode 100644
index 0000000000..5a3423426f
Binary files /dev/null and b/registry/components/hw-callout-circle/assets/fonts/Caveat-700-latin.woff2 differ
diff --git a/registry/components/hw-callout-circle/hw-callout-circle.html b/registry/components/hw-callout-circle/hw-callout-circle.html
new file mode 100644
index 0000000000..ece389cde7
--- /dev/null
+++ b/registry/components/hw-callout-circle/hw-callout-circle.html
@@ -0,0 +1,274 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/registry/components/hw-callout-circle/registry-item.json b/registry/components/hw-callout-circle/registry-item.json
new file mode 100644
index 0000000000..374b31ba20
--- /dev/null
+++ b/registry/components/hw-callout-circle/registry-item.json
@@ -0,0 +1,25 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "hw-callout-circle",
+ "type": "hyperframes:component",
+ "title": "Scribble Callout Circle",
+ "description": "Wobbled ellipse draws around a target with optional scribble fill, curved connector, and handwritten label",
+ "tags": [
+ "handwritten",
+ "annotation",
+ "callout",
+ "overlay"
+ ],
+ "files": [
+ {
+ "path": "hw-callout-circle.html",
+ "target": "compositions/components/hw-callout-circle.html",
+ "type": "hyperframes:snippet"
+ },
+ {
+ "path": "assets/fonts/Caveat-700-latin.woff2",
+ "target": "assets/fonts/Caveat-700-latin.woff2",
+ "type": "hyperframes:asset"
+ }
+ ]
+}
diff --git a/registry/components/hw-underline/assets/fonts/Caveat-700-latin.woff2 b/registry/components/hw-underline/assets/fonts/Caveat-700-latin.woff2
new file mode 100644
index 0000000000..5a3423426f
Binary files /dev/null and b/registry/components/hw-underline/assets/fonts/Caveat-700-latin.woff2 differ
diff --git a/registry/components/hw-underline/hw-underline.html b/registry/components/hw-underline/hw-underline.html
new file mode 100644
index 0000000000..2ac7374d2f
--- /dev/null
+++ b/registry/components/hw-underline/hw-underline.html
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+
+
+
+
+
underline the point
+
cross this out
+
bracket the aside
+
+
+
+
+
+
+
+
+
diff --git a/registry/components/hw-underline/registry-item.json b/registry/components/hw-underline/registry-item.json
new file mode 100644
index 0000000000..c6c7c8b059
--- /dev/null
+++ b/registry/components/hw-underline/registry-item.json
@@ -0,0 +1,24 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "hw-underline",
+ "type": "hyperframes:component",
+ "title": "Squiggle Marks",
+ "description": "Hand-drawn squiggle underline, double-pass strikethrough, and bracket marks that draw on",
+ "tags": [
+ "handwritten",
+ "annotation",
+ "text-treatment"
+ ],
+ "files": [
+ {
+ "path": "hw-underline.html",
+ "target": "compositions/components/hw-underline.html",
+ "type": "hyperframes:snippet"
+ },
+ {
+ "path": "assets/fonts/Caveat-700-latin.woff2",
+ "target": "assets/fonts/Caveat-700-latin.woff2",
+ "type": "hyperframes:asset"
+ }
+ ]
+}
diff --git a/registry/registry.json b/registry/registry.json
index 5513973ee9..0ba42d2256 100644
--- a/registry/registry.json
+++ b/registry/registry.json
@@ -563,6 +563,30 @@
"name": "vfx-liquid-glass",
"type": "hyperframes:block"
},
+ {
+ "name": "hw-text-cloud",
+ "type": "hyperframes:block"
+ },
+ {
+ "name": "hw-title",
+ "type": "hyperframes:block"
+ },
+ {
+ "name": "hw-pipeline",
+ "type": "hyperframes:block"
+ },
+ {
+ "name": "hw-path-text",
+ "type": "hyperframes:block"
+ },
+ {
+ "name": "hw-frame",
+ "type": "hyperframes:block"
+ },
+ {
+ "name": "hw-scribble-transition",
+ "type": "hyperframes:block"
+ },
{
"name": "parallax-zoom",
"type": "hyperframes:component"
@@ -570,6 +594,26 @@
{
"name": "parallax-unzoom",
"type": "hyperframes:component"
+ },
+ {
+ "name": "hw-boil",
+ "type": "hyperframes:component"
+ },
+ {
+ "name": "hw-arrow",
+ "type": "hyperframes:component"
+ },
+ {
+ "name": "hw-callout-circle",
+ "type": "hyperframes:component"
+ },
+ {
+ "name": "hw-box-label",
+ "type": "hyperframes:component"
+ },
+ {
+ "name": "hw-underline",
+ "type": "hyperframes:component"
}
]
}