npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

leviar

v1.2.0

Published

WebGL 2.5D rendering engine with parallax scrolling

Readme

leviar Engine

High-Performance 2.5D Rendering Engine for WebGL

jsDelivr hits (npm) license platform

leviar is a modern rendering engine that enables the implementation of 2.5D visual effects and a realistic physics engine without complex 3D math, based on the powerful performance of WebGL.


🎮 Live Demo

Experience the examples based on the various and spectacular visual features provided by the leviar engine immediately in your web browser!

👉 Go to the leviar Engine Integrated Example Page 🚀


✨ Why leviar?

| 🚀 Performance | ⚖️ Physics | 🎬 Dynamics | | :--- | :--- | :--- | | WebGL-based Optimization: Applies instancing technology to smoothly render thousands of objects. | Z-Isolation: Provides an intelligent collision layer separation system according to depth based on matter-js. | 34 Easing types: An animation engine that makes any attribute come alive and move. |


🏗️ Core Architecture

The leviar engine manages objects precisely by dividing them into 6 distinct layers.

Attributes

To ensure intuitive and efficient control, the leviar engine aims to directly modify the attributes (Attribute/Style/Transform) of objects rather than relying on methods.

  • 🏷️ Attribute: An identification layer that defines the object's ID, physical properties, and type.
  • 🎨 Style: Familiar visual design based on CSS (BorderRadius, Shadow, etc.).
  • 📐 Transform: Manages position, rotation, scale, and parent-child hierarchy in the 3D world.
  • 📦 Dataset: An intelligent user data repository linked with animations.

Methods

Methods are powerful utility functions that exist to preserve complex physical interactions or animation transitions that are difficult to express with attributes alone.

  • 🛠️ Method: Specific action commands like animate, follow, applyForce, etc.

Events

Used to detect object state changes or interactions.

  • 🔔 Event: A real-time event system for detecting interactions and changes.

⚡ Quick Start

Node.js

npm install leviar

Browser

<script src="https://cdn.jsdelivr.net/npm/leviar@1/+esm"></script>

Create a three-dimensional world with just a few lines of code.

import { World } from 'leviar'

const world = new World()
const camera = world.createCamera({ attribute: { focalLength: 150 } })
world.camera = camera

// Place a colorful box in the center of the world.
const box = world.createRectangle({
  attribute: { name: 'hero_box', physics: 'dynamic' },
  style: { 
    color: '#3498db', width: 100, height: 100, 
    borderRadius: 15, boxShadowBlur: 20 
  }
})

// An animation that directly modifies attributes to rotate and become transparent!
box.animate({
  style: { opacity: 0.3 },
  transform: { rotation: { z: '+=360' } }
}, 1500, 'easeInOutBack')

world.start()

🎥 Learn More


📜 License

MIT License. © 2026 leviar Engine Team.