PRO

Lego Dither

A spinning 3D marble hand rebuilt from a six-frame Lego stud sprite sheet. The hand renders into a luminance buffer, a fullscreen shader selects one colored stud per cell, and pointer movement rotates the model while painting a fading, warping trail through the same dither field. A self-contained Three.js interpretation of DEEO Studio's 3D Lego Dither artifact.

Component
LOADING HAND
Install
npx shadcn@latest add https://ui.aryank.space/r/lego-dither.json

Installs from ui.aryank.space. To add it by hand, copy the files in Usage below, or register the @compronents namespace via the docs.

Files

API
PropTypeDefaultDescription
modelUrl / spriteUrlstring / stringBLANK-hosted Lego Dither assetsGLB hand model and horizontal six-glyph sprite sheet.
cellSize / modelScalenumber / number7 / 1.15Stud size in CSS pixels and normalized hand scale.
spinSpeed / pointerRotationnumber / number0.26 / 0.15Automatic Y rotation and pointer-driven X/Z rotation.
trailSize / trailDecay / distortionnumber / number / number0.041 / 0.08 / 0.18Pointer stroke width, color-step delay, and hand scatter.
classNamestringOptional class applied to the full-size canvas wrapper.
Customize
modelUrl / spriteUrlasset-url

Blob-hosted GLB and six-frame Lego stud sprite sheet used by the two render passes.

cellSize / modelScale / spinSpeedtext

Stud resolution, fitted hand size, and autonomous rotation speed.

pointerRotation / trailSize / trailDecay / distortiontext

Pointer tilt, stacked-color trail timing, and the hand scatter strength.

Dependencies
three