Splattie Widget Makes Gaussian Splats Track the Cursor With One HTML Tag

Michael Rubloff

Michael Rubloff

Email
Copy Link
Twitter
Linkedin
Reddit
Whatsapp
Splattie

Andres Romero's splattie-widget drops a rigged Gaussian splat into a web page with a single custom element, <splattie-widget src="asset.splattie"> plus a script tag from unpkg, and makes it react to the visitor. Heads track the cursor with their eyes, blink on a randomized timer, and emote on hover and click. Bodies turn their head and torso toward the pointer and pose through two-bone arm IK. Arbitrary objects follow the cursor through sparse linear blend skinning on a custom skeleton. Everything runs client-side at 60fps over WebGL 2.

The widget reads a new .splattie container, a ZIP bundle with a required manifest.json that declares every asset and pins the file's formatVersion to the widget version. Inside sits standard splat data as PLY or SPZ, alongside optional rig files. Heads use a five bone FLAME skeleton (root, neck, jaw, left eye, right eye) with per-splat bone weights and an expression_basis.bin holding FLAME blendshape displacements; bodies carry a 55-joint SMPL-X skeleton with sparse top-K per-Gaussian weights; objects ship an arbitrary joint hierarchy with binary uint16 indices and float16 weights. A states.json defines idle, hover, and click states across five interpolated dimensions with configurable easing per transition.

Splattie is built on Spark 2.0, the MIT licensed World Labs renderer, and leans on a stack of single-image reconstruction work to generate the rigged assets for heads and bodies, and Microsoft's TRELLIS plus Snap Research's Puppeteer for objects and their auto rigged skeletons. The hosted pipeline at splattie.app turns a photo into a bundled asset, and a local visual editor exposes sliders for every state dimension, on-canvas IK drag handles, and a download button.

Learn more on GitHub or through the live demo at afromero.co.

Featured

Recents

SplatBridge Brings Streamed Gaussian Splats and Splat Colliders to Unity 6

SplatBridge 1.0.4 imports SOG, SPZ and 3DGS PLY into Unity 6, streaming city-scale captures under a fixed GPU budget and baking splats into a MeshCollider.

Michael Rubloff

Sep 10, 2026

SplatBridge Brings Streamed Gaussian Splats and Splat Colliders to Unity 6

SplatBridge 1.0.4 imports SOG, SPZ and 3DGS PLY into Unity 6, streaming city-scale captures under a fixed GPU budget and baking splats into a MeshCollider.

Michael Rubloff

Platforms

NVIDIA NCore v19.6.0 Opens Sensor Model Construction

NVIDIA NCore v19.6.0 replaces its from_parameters static methods with free camera, lidar and external distortion model factories carrying an open registry.

Michael Rubloff

Sep 10, 2026

Platforms

NVIDIA NCore v19.6.0 Opens Sensor Model Construction

NVIDIA NCore v19.6.0 replaces its from_parameters static methods with free camera, lidar and external distortion model factories carrying an open registry.

Michael Rubloff

Platforms

three.js Ships Its Native Gaussian Splat Renderer and Splat Raycasting in r186

three.js r186 ships GaussianSplat, its first native Gaussian splat renderer, adding raycasting, per-mesh frustum culling and view-dependent spherical harmonics.

Michael Rubloff

Sep 9, 2026

Platforms

three.js Ships Its Native Gaussian Splat Renderer and Splat Raycasting in r186

three.js r186 ships GaussianSplat, its first native Gaussian splat renderer, adding raycasting, per-mesh frustum culling and view-dependent spherical harmonics.

Michael Rubloff

Platforms

PlayCanvas Releases SuperSplat 3.0

SuperSplat 3.0 rewrites PlayCanvas's Gaussian splat editor on WebGPU only, removing the WebGL2 path, cutting peak memory, and adding sort-free Stochastic Alpha.

Michael Rubloff

Sep 8, 2026

Platforms

PlayCanvas Releases SuperSplat 3.0

SuperSplat 3.0 rewrites PlayCanvas's Gaussian splat editor on WebGPU only, removing the WebGL2 path, cutting peak memory, and adding sort-free Stochastic Alpha.

Michael Rubloff

Michael Rubloff

Written by Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

Email
Copy Link
Twitter
Linkedin
Reddit
Whatsapp

More from Michael Rubloff

More from Michael Rubloff

SplatBridge Brings Streamed Gaussian Splats and Splat Colliders to Unity 6

SplatBridge 1.0.4 imports SOG, SPZ and 3DGS PLY into Unity 6, streaming city-scale captures under a fixed GPU budget and baking splats into a MeshCollider.

Michael Rubloff

Sep 10, 2026

SplatBridge

SplatBridge Brings Streamed Gaussian Splats and Splat Colliders to Unity 6

Michael Rubloff

Sep 10, 2026

SplatBridge

SplatBridge Brings Streamed Gaussian Splats and Splat Colliders to Unity 6

SplatBridge 1.0.4 imports SOG, SPZ and 3DGS PLY into Unity 6, streaming city-scale captures under a fixed GPU budget and baking splats into a MeshCollider.

Michael Rubloff

Sep 10, 2026

SplatBridge

Platforms

NVIDIA NCore v19.6.0 Opens Sensor Model Construction

NVIDIA NCore v19.6.0 replaces its from_parameters static methods with free camera, lidar and external distortion model factories carrying an open registry.

Michael Rubloff

Sep 10, 2026

NVIDIA Logo

Platforms

NVIDIA NCore v19.6.0 Opens Sensor Model Construction

Michael Rubloff

Sep 10, 2026

NVIDIA Logo

Platforms

NVIDIA NCore v19.6.0 Opens Sensor Model Construction

NVIDIA NCore v19.6.0 replaces its from_parameters static methods with free camera, lidar and external distortion model factories carrying an open registry.

Michael Rubloff

Sep 10, 2026

NVIDIA Logo

Platforms

three.js Ships Its Native Gaussian Splat Renderer and Splat Raycasting in r186

three.js r186 ships GaussianSplat, its first native Gaussian splat renderer, adding raycasting, per-mesh frustum culling and view-dependent spherical harmonics.

Michael Rubloff

Sep 9, 2026

three.js Gaussian Splatting

Platforms

three.js Ships Its Native Gaussian Splat Renderer and Splat Raycasting in r186

Michael Rubloff

Sep 9, 2026

three.js Gaussian Splatting

Platforms

three.js Ships Its Native Gaussian Splat Renderer and Splat Raycasting in r186

three.js r186 ships GaussianSplat, its first native Gaussian splat renderer, adding raycasting, per-mesh frustum culling and view-dependent spherical harmonics.

Michael Rubloff

Sep 9, 2026

three.js Gaussian Splatting