A toolkit that simplifies the creation of rich and interactive 2D or 3D experiences for any device from mobile to desktop to AR/VR.
Home · Documentation · Examples · Forum · Chat · Source
npm install lume
Features
LUME is composed of several packages that can be used individually, or together as a whole:
lume
- HTML elements for rich graphics
HTML elements for easily defining rich and interactive 2D or 3D applications powered by both CSS and WebGL.
This package uses and re-exports features from the below packages.
glas
- WebGL engine written in AssemblyScript
This is a port of Three.js to AssemblyScript (TypeScript that compiles to WebAssembly) for running WebGL graphics with consistent performance.
@lume/element
- System for defining HTML elements
This is a web component system that allows you to create new, fast, and performant HTML elements in a simple way. It provides the foundation for LUME's HTML elements, and a standard pattern for building new elements that extend the features of LUME.
@lume/variable
- Reactivity system
Create variables that are easy to react to when their values change.
element-behaviors
- Mix functionalities onto HTML elements
This allows you to augment HTML elements with features called "behaviors"
that are similar to custom elements: each behavior is defined as a class
that has the same lifecycle methods as custom elements. The difference is
that an unlimited number of behaviors can be associated with an element.
Getting involved
There's various ways to get involved!
- Visit the documentation and make something awesome!
- Submit fixes or new features to any packages or the website! See the contributing guide.
- Discuss LUME, get help, or help others in the forums or on our Discord chat server.