Visual computing primitives for the modern web.
WebGL2 transitions and filter effects, easing curves, choreographed text, scroll bindings, and the headless components built on top. Zero runtime dependencies per package. Tree-shakable to the byte. TypeScript-native. SSR-safe.
→ vysmo.com — live playgrounds, full catalogs, the docs.
Each package ships independently to npm under the @vysmo scope. Install only what you use; everything tree-shakes.
| Package | What it is | Live |
|---|---|---|
@vysmo/transitions |
60 WebGL2 transition shaders, defined as plain data. Mesh-based, endpoint-correct. | vysmo.com/transitions |
@vysmo/effects |
30 filter effects (blur, bloom, glow, halftone, VHS, ASCII, …) with HDR-aware multi-pass. | vysmo.com/effects |
@vysmo/text |
Choreographed text animations driven by a single timeline. Generous preset library. | vysmo.com/text |
@vysmo/easings |
Authoring-grade easing curves — overshoot, spring, accelerate / decelerate. | vysmo.com/easings |
@vysmo/scroll |
Bind any progress-driven thing to scroll position. Pin, plateau, ranges. | vysmo.com/scroll |
@vysmo/flipbook |
Headless WebGL flipbook with drag-corners-to-scrub-mid-flip. | vysmo.com/flipbook |
@vysmo/slideshow |
Headless image slideshow that runs any of the 60 transitions. | vysmo.com/slideshow |
Same APIs, declarative components + hooks: @vysmo/transitions-react, @vysmo/text-react, @vysmo/flipbook-react, @vysmo/slideshow-react.
The runtime under the consumer packages: @vysmo/animations (tweening engine), @vysmo/gl-core (WebGL2 plumbing). You don't normally import these directly — they arrive transitively.
pnpm add @vysmo/transitionsimport { Runner, crossZoom } from "@vysmo/transitions";
const runner = new Runner({ canvas });
runner.render(crossZoom, { from: imageA, to: imageB, progress: 0.5 });Full docs, parameter playgrounds, and copy-pasteable code live on each library's page at vysmo.com.
packages/ — every published @vysmo/* package
This repo is the public source. Apps (the marketing site, internal tools) and the strategy / launch docs live in a separate private repo.
MIT — every package, forever. Use them in anything, commercial or not.
Brought to you by Maesto LLC, San Diego.