YURA

Make the web move. Two lines, one million GPU particles.

import { yura } from 'yura'
await yura('#hero').run()  // a cursor-reactive million-particle galaxy

All Features

Every theme, 3D world, camera move, transition, decor mark, text motion and site effect — live, on one page.

Studio Site

A complete release site from HTML attributes: opening, reveals, marquees, magnetic CTAs, and lyrics that play with the scroll.

Lyric Stage

One tag, a whole lyric hero: a Three.js world, per-line colour cuts, camera moves, transitions and kinetic type.

Showcase

One million live particles, six looks. Binary gravity wells orbit the neon galaxy, sakura drifts tategaki verses, one-line HUD.

Lyric Motion

Kinetic typography: Japanese-first lines auto-timed to one beat, assembling character by character.

Web Type Motion

Lyrics as real text: 76 named web typography motions — mask reveals, scramble, neon, tategaki — planned by mood.

Hello

The two-line starter — exactly what you get with zero configuration.

glTF Viewer

PBR + IBL in one line. Grab, aim by click, double-click to face front.

ORB RUSH

The README mini-game: one game() call — roll, jump, collect ten orbs. Physics, HUD, FX, chiptune BGM in ~40 lines.

Demos need WebGPU (Chrome / Edge 113+; particle swarms fall back to WebGL2).
Use it in your project: npm install yurayura
Dial the look: blendMode screen/alpha, toneMapping reinhard/linear, softParticles sprites that fade into geometry, and trail colorEnd / width / fade.
Bend the motion: eases-timed morphs through box / cone / helix shapes, divergence-free curl-noise turbulence, up to four gravity-well attractors (negative strength repels), cursor gravity via interactive({ gravity }), and one-line scene.gravityWell() — all skipped at their defaults, zero cost when off.
Or run everything locally — playground, live-share, benchmarks:
git clone https://github.com/tacyan/Yura.js && cd Yura.js && bun install && bun run play