A toolkit that simplifies the creation of rich and interactive 2D or 3D experiences for any device from mobile to desktop to AR/VR.
npm install lume
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 WebGL engine with the consistent performance of WebAssembly, written in AssemblyScript (a TypeScript-to-WebAssembly compiler).
@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 - Reactive variables
Create reactive variables and observe their changes in a simple and concise way with less code and less coupling.
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
that has the same lifecycle methods as custom elements. The difference is
that an unlimited number of behaviors can be associated with an element.
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.