LSD Framework
LSD Framework · v0.8

Design as physics. In motion.

A token-driven animation, filter, and reactive-data runtime — composed through class chains, SCSS mixins, or a fluent JS API. Zero dependencies. Three authoring surfaces. One keyframe set.

Scroll

Design as physics.

Tokens, not numbers.

Chainability is the contract.

§03 · Atoms

Primitives that compose.

Five framework components — buttons, inputs, chips, toggles, and image frames. Every one shipped as .lsd-* class chain, every one stackable with the animation library.

.lsd-btn
.lsd-input
.lsd-chip
default soft outlined
.lsd-toggle
.lsd-frame
§04 · Universal animations

One class. Every element.

Hover any tile to fire the animation. The class drops onto any element — there's no per-component branch, just .lsd-fx--* on whatever's painting.

§05 · Blocks

Thirteen categories. One markup vocabulary.

Click a thumbnail. The stage flips into a mini-preview of one block from that category.

Choose a category

Block previews render here.

Marketing Hero

§07 · Container queries

Same markup. Same classes.

Pick a width. The block reflows from the inside-out — no media queries, no viewport guessing.

Velocity

Token-driven motion across every breakpoint.

Inertia

Carries proportion from inline-size, not viewport.

Gravity

Falls into place when the container narrows.

Container does the work — `container-type: inline-size`.

§08 · Composability

One class library. Every element. Every behavior.

Each row stacks the component class with multiple animation classes — same syntax, same chaining rules, regardless of component type.

.lsd-btn .lsd-fx--lift .lsd-fx--shimmer
.lsd-btn--soft .lsd-fx--pop .lsd-fx--glow-pulse
.lsd-btn--outlined .lsd-fx--tilt .lsd-fx--border-draw .lsd-fx--magnetic
.lsd-input .lsd-fx--lift .lsd-fx--ripple-focus
chip .lsd-chip--soft .lsd-fx--pop .lsd-fx--glow-pulse

Start with lsd-buttons.css

One CSS file, one import, every animation primitive in your project.

import '@ferretdev/lsd-framework/lsd-buttons.css'
import motion from '@ferretdev/lsd-framework/lsd-motion.js'

motion.configure({ cursor: { enabled: true } })
motion.start()
View on GitHub Read the docs
Galaxy Nebula Constellation Aurora Orion