A CSS3D/WebGL UI library.


Keywords
infamous, gui, graphical user interface, graphical-user-interface, interface, interface library, interface-library, ui, user interface, user-interface, widgets, ui widgets, ui-widgets, components, interface components, interface-components, ui components, ui-components, app components, app-components, layout, rendertree, render tree, render-tree, scenegraph, scene graph, scene-graph, browser interface, browser-interface, interactive, interaction, 3D, graphics, 3D graphics, 3D-graphics, animation, 3D animation, 3D-animation, browser, clientside, client side, client-side, html5, touch, touch interface, touch-interface, responsive, mobile, web, web-development, webdev, three.js, threejs, three-js, custom-elements, CustomElements, custom-element, CustomElement, CSS3D, WebGL, WebVR, WebXR, WebComponents, web-components, WebComponent, web-component, 3d-engine, 3d-models, dom-elements, graphics-engine, graphics-programming, html, javascript, lume, scene, three-d, three-dimensions
License
MIT
Install
npm install infamous@21.2.0

Documentation

LUME

A toolkit that simplifies the creation of rich and interactive 2D or 3D experiences.

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 CSS3D, WebGL, or a combination of both.

This package uses and re-exports features from the below packages.

@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.

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.

glas - WebGL engine written in AssemblyScript (WIP)

This is a WebGL engine with the consistent performance of WebAssembly, written in AssemblyScript (a TypeScript-to-WebAssembly compiler).

LUMECraft

LUMECraft is a collection of applications made with LUME, showing what LUME can do, and serving as forkable starting points for further customization.

first-person-shooter - First-person shooter game

A first-person shooter game foundation made with LUME, Solid.js, and Meteor.

Getting involved

There are 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.

Status

tests