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

@woosh/meep-engine

v3.41.0

Published

Advanced 3D game engine

Readme

Meep Engine

Build richly lit 3D worlds for the web in JavaScript.

Meep is a game engine with a GPU-driven WebGPU renderer, physics, spatial audio, rollback networking and an in-app editor.

Examples · Documentation · Licence & pricing

Getting started

npm install @woosh/meep-engine

Follow the installation guide for setup and WebGPU requirements. The package includes samples/engine/first-scene/main.js, a scene with lighting and keyboard input.

Rendering

Lighting, shadows, decals, transparency and volumetric fog work together in an integrated pipeline with shared scene data.

  • Thousands of dynamic lights. The engine manages shadow coverage, resolution and updates, while lighting work is concentrated on the pixels each light reaches.
  • Large scenes with low CPU overhead. GPU visibility culling and batched geometry keep draw calls low as scenes grow. Deferred shading concentrates material evaluation on visible surfaces.
  • Adaptive resolution. The engine adjusts rendering resolution and upscales to the display size to help maintain frame rate as load changes. This is enabled by default through Engine.
  • Custom rendering passes. Add effects through render extensions. The frame graph orders the work by its dependencies and removes unused passes automatically.

Shadows, ambient occlusion, image-based indirect lighting, auto-exposure, anti-aliasing and order-independent transparency are enabled by default, alongside tonemapping, bloom and sharpening. Tonemapping adapts to SDR and HDR displays.

Optional features include baked volumetric global illumination, screen-space reflections, motion blur, depth of field, virtual texturing, a neural upscaler and a reference path tracer.

See the renderer guide for scene setup, rendering controls and custom passes.

Engine features

  • Architecture. An entity-component system with parent/child hierarchies and allocation-conscious hot paths.
  • Physics. Deterministic JavaScript rigid bodies, convex and mesh collision, continuous collision detection, character and vehicle controllers, and inverse kinematics, plus fluid simulation.
  • Audio. Events, mixer buses, real-time parameters, snapshots and ducking, with optional scene-driven occlusion, transmission and reverb.
  • Networking. Server-authoritative rollback with prediction, reconciliation and binary snapshots over WebRTC, WebTransport, WebSocket or Node UDP.
  • Navigation & AI. Grid and navigation mesh pathfinding, behaviour trees, blackboards and Monte-Carlo tree search.
  • Procedural generation. Rule-driven grids, entity placement and reusable themes, composed as generation tasks.
  • Assets. glTF with meshopt compression, asset streaming, PNG/JPEG/AVIF decoding and versioned binary serialization.
  • Tools. An editor for live scenes, per-pass GPU profiling, and a software WebGPU implementation for shader and pipeline testing.
  • Input & UI. Touch, mouse, keyboard and gamepad input, an optional DOM UI layer, localisation, achievements and persistent storage.

In development since 2013 and used in a commercial Steam release. Automated tests cover physics determinism, networking and shader execution.

Production builds

Use @rollup/plugin-strip to remove development assertions from production bundles. For Vite:

// vite.config.js
import { defineConfig } from 'vite';
import strip from '@rollup/plugin-strip';

export default defineConfig({
    plugins: [{ ...strip(), apply: 'build' }]
});

The plugin's defaults strip both assert.* and console.* calls.

Licence & pricing

Free for small projects. Projects with both cumulative funding and cumulative revenue under US$50,000 each can ship commercially at no cost. Evaluation and internal prototypes are free regardless of funding. Paid licences are a one-time fee per project and include 24 months of major-version coverage.

See the licence overview and pricing page for details. The package terms are in LICENSE.

Copyright © 2026 Company Named Limited. All rights reserved.