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

@mavonengine/core

v0.0.18

Published

MavonEngine is an open-source Three.js game engine built for single player or real-time multiplayer. It combines rendering, physics, networking, animation, and debugging into a single cohesive TypeScript package — so you're not assembling a stack, you're

Readme

MavonEngine — Three.js Game Engine for Browser Games

MavonEngine is an open-source Three.js game engine built for single player or real-time multiplayer. It combines rendering, physics, networking, animation, and debugging into a single cohesive TypeScript package — so you're not assembling a stack, you're building a game.

Early WIP — things will change. For documentation visit mavonengine.com.

Get Started

npx @mavonengine/create-bootstrap

| URL | Description | | --- | --- | | http://localhost:5173/ | Client Game | | http://localhost:8050/api/game/health | Server health endpoint |

The multiplayer template includes the authoritative server setup, networking boilerplate, and a working client/server split out of the box.

What is MavonEngine?

MavonEngine is a full-stack Three.js game engine built on top of Three.js for rendering, Rapier3D for physics, and geckos.io for WebRTC-based UDP networking.

Most Three.js game engines focus on single-player or leave multiplayer as an exercise for the developer. MavonEngine is designed from the ground up for multiplayer — with a unified server-client architecture, authoritative physics, and real-time networking built in, not bolted on.

How It Works

The core is a headless BaseGame class that both client and server extend from. The server runs physics and the game loop without rendering. The client extends it with Three.js rendering, camera, audio, and input. Because both sides share the same entity classes and loop, game logic is written once and shared — the authoritative server syncs state down to clients each tick.

The server runs a simplified hitbox scene alongside the client's full 3D world, enabling server-side hit detection, raycasting, and spatial queries without trusting the client. This makes it viable for competitive PvP games, open-world multiplayer, and physics-based action games.

Networking

The networking model is inspired by Source engine architecture — a tick-based command buffer with server-authoritative state, distance-based entity culling, hash-based change detection, and bandwidth tracking. The client maintains a WebRTC connection via geckos.io with ping monitoring and state reconciliation.

Features

  • Three.js rendering — Custom GLSL shader support, wireframe/armature/physics debug overlays
  • Rapier3D physics — Kinematic character controller, collider management, real-time debug visualization
  • WebRTC networking — Real-time data channels, bandwidth monitoring, command buffering
  • Shared entity system — Write once, run on server and client
  • Skeletal animation — GLTF + Draco support, smooth fade transitions, efficient skeleton cloning
  • Particle system — Built-in rain and smoke effects, custom shader support
  • Level editor — Early WIP, loads directly from the running game instance
  • Prefab registry — Community-built assets (grass, water, and more) ready to drop into your scene
  • Full TypeScript — Comprehensive types throughout

Why a Three.js Game Engine with Multiplayer?

Three.js is the most widely used 3D library for the web, but it's a rendering library — not a game engine. MavonEngine fills that gap specifically for single or multiplayer: entity management, state machines, world/chunk streaming, input handling, resource loading, and authoritative networking are all handled for you.

Contributing

This is early-stage software built out of real project needs. APIs will change and some parts are still tightly coupled to specific setups. Contributions and PRs are welcome — see the contributing guide to get started.

Join the community for development discussions.