diff --git a/docs/catalog/blocks/three-dissolve.mdx b/docs/catalog/blocks/three-dissolve.mdx
new file mode 100644
index 000000000..52b47b2d1
--- /dev/null
+++ b/docs/catalog/blocks/three-dissolve.mdx
@@ -0,0 +1,85 @@
+---
+title: "3D Dissolve"
+description: "A cinematic 3D dissolve effect with glowing rings, particle dust, and GPGPU vapor. Works with any GLTF model."
+---
+
+# 3D Dissolve
+
+A cinematic 3D dissolve effect with glowing rings, particle dust, and GPGPU vapor. Point it at any GLTF model — the dissolve adapts to mesh geometry automatically.
+
+`vfx` `3d` `particles` `dissolve`
+
+
+
+## Install
+
+
+
+```bash Terminal
+npx hyperframes add three-dissolve
+```
+
+
+
+## Details
+
+| Property | Value |
+| --- | --- |
+| Type | Block |
+| Dimensions | 1920 x 1080 |
+| Duration | 8s |
+
+## Variables
+
+| Variable | Type | Default | Description |
+| --- | --- | --- | --- |
+| `modelUrl` | string | CDN spellbook | URL to a GLTF model. Any `.gltf` or `.glb` with textures works. |
+| `dissolveStart` | number | `0.8` | Time (s) when the dissolve begins. |
+| `dissolveEnd` | number | `7.1` | Time (s) when the dissolve completes. |
+| `particleColor` | color | `#1a7aff` | Base color for dissolve particles. |
+| `bgColor` | color | `#05070d` | Scene background color. |
+
+## Files
+
+| File | Target | Type |
+| --- | --- | --- |
+| `three-dissolve.html` | `compositions/three-dissolve.html` | hyperframes:composition |
+
+## Swapping the Model
+
+Replace `modelUrl` with any GLTF model URL. The dissolve effect samples the mesh surface for particle emission, so it adapts to any geometry:
+
+```html
+
+```
+
+If using a local model, place it alongside the composition and use a relative path:
+
+```html
+data-variable-values='{"modelUrl":"./my-model.gltf"}'
+```
+
+## Usage
+
+After installing, add the block to your host composition:
+
+```html
+
+```
diff --git a/docs/docs.json b/docs/docs.json
index 57affc5a0..3022ed09a 100644
--- a/docs/docs.json
+++ b/docs/docs.json
@@ -161,6 +161,7 @@
"catalog/blocks/app-showcase",
"catalog/blocks/apple-money-count",
"catalog/blocks/blue-sweater-intro-video",
+ "catalog/blocks/three-dissolve",
"catalog/blocks/north-korea-locked-down",
"catalog/blocks/nyc-paris-flight",
"catalog/blocks/ui-3d-reveal",
diff --git a/docs/public/catalog-index.json b/docs/public/catalog-index.json
index 736651727..e6ffd38bd 100644
--- a/docs/public/catalog-index.json
+++ b/docs/public/catalog-index.json
@@ -230,6 +230,20 @@
"href": "/catalog/blocks/macos-notification",
"preview": "https://static.heygen.ai/hyperframes-oss/docs/images/catalog/blocks/macos-notification.png"
},
+ {
+ "name": "three-dissolve",
+ "type": "block",
+ "title": "3D Dissolve",
+ "description": "A cinematic 3D dissolve effect with glowing rings, particle dust, and GPGPU vapor. Works with any GLTF model.",
+ "tags": [
+ "vfx",
+ "3d",
+ "particles",
+ "dissolve"
+ ],
+ "href": "/catalog/blocks/three-dissolve",
+ "preview": "https://static.heygen.ai/hyperframes-oss/docs/images/catalog/blocks/three-dissolve.png"
+ },
{
"name": "north-korea-locked-down",
"type": "block",
diff --git a/registry/blocks/three-dissolve/registry-item.json b/registry/blocks/three-dissolve/registry-item.json
new file mode 100644
index 000000000..7d946d9a7
--- /dev/null
+++ b/registry/blocks/three-dissolve/registry-item.json
@@ -0,0 +1,20 @@
+{
+ "$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
+ "name": "three-dissolve",
+ "type": "hyperframes:block",
+ "title": "3D Dissolve",
+ "description": "A cinematic 3D dissolve effect with glowing rings, particle dust, and GPGPU vapor. Bring your own GLTF model.",
+ "tags": ["vfx", "3d", "particles", "dissolve"],
+ "dimensions": {
+ "width": 1920,
+ "height": 1080
+ },
+ "duration": 8,
+ "files": [
+ {
+ "path": "three-dissolve.html",
+ "target": "compositions/three-dissolve.html",
+ "type": "hyperframes:composition"
+ }
+ ]
+}
diff --git a/registry/blocks/three-dissolve/three-dissolve.html b/registry/blocks/three-dissolve/three-dissolve.html
new file mode 100644
index 000000000..e37638a34
--- /dev/null
+++ b/registry/blocks/three-dissolve/three-dissolve.html
@@ -0,0 +1,943 @@
+
+
+
+
+
+ 3D Dissolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/registry/registry.json b/registry/registry.json
index 9becb0bbd..79f34fb27 100644
--- a/registry/registry.json
+++ b/registry/registry.json
@@ -119,6 +119,10 @@
"name": "ui-3d-reveal",
"type": "hyperframes:block"
},
+ {
+ "name": "three-dissolve",
+ "type": "hyperframes:block"
+ },
{
"name": "domain-warp-dissolve",
"type": "hyperframes:block"