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

@bitruvius/turbo-lepcc

v0.3.1

Published

TurboLEPCC: fast Esri LEPCC point-cloud decoder for the browser, pure-Rust wasm

Readme

@bitruvius/turbo-lepcc

Byte-exact Esri LEPCC decode in the browser, at SIMD speed.

TurboLEPCC is a memory-safe, SIMD-first encoder and decoder for LEPCC (Esri Limited Error Point Cloud Compression), written in Rust with no unsafe. It holds byte-exact parity with Esri's C++ reference on every test case. This package is the browser build: the decoder alone, compiled to WebAssembly, with no emscripten anywhere in the chain.

Turbocharged by Bitruvius TurboLEPCC.

Faster than the C++ reference

Bitruvius publishes TurboLEPCC's benchmarks against Esri's liblepcc. Every decode kernel it reports, measured on the native SIMD backends:

| Decode kernel | Windows AVX2 | macOS NEON | |---|---|---| | Point geometry (XYZ) | 2.27× (2.17×–2.36×) | 1.80× (1.70×–1.89×) | | LiDAR intensity | 2.28× (2.01×–2.55×) | 3.33× (2.56×–4.10×) | | Per-point color (RGB) | 0.97× | 1.27× |

Color decode is the one that does not beat the reference on AVX2, and it is published without a range. Across the full kernel set, TurboLEPCC wins 10 of 12 on Windows AVX2, where the two exceptions tie within 4%, and 11 of 13 on macOS NEON. Against the only other memory-safe LEPCC port it is 34× to 60× faster.

Those are the published AVX2 and NEON figures. This package ships the same Rust decoder compiled to the WASM SIMD128 backend, which is not part of that published benchmark set. What does carry over unchanged is the parity: the bytes you get back match the reference decoder.

Use it

import { LepccDecoder } from '@bitruvius/turbo-lepcc';

const decoder = new LepccDecoder();
const blob = new Uint8Array(await (await fetch('xyz.lepcc')).arrayBuffer());
const xyz = await decoder.decodeXyz(blob); // Float64Array, x/y/z interleaved (3·N)

Every method takes the raw Uint8Array of one blob, not a DOM Blob.

LEPCC stores each attribute as its own self-describing blob, so there is no single decode(). Decode the one you hold, or identify an unknown blob first:

await decoder.blobType(blob);        // 'xyz' | 'rgb' | 'intensity' | 'flagBytes'
await decoder.decodeRgb(blob);       // Uint8Array,  r/g/b interleaved (3·N)
await decoder.decodeIntensity(blob); // Uint16Array, one value per point
await decoder.decodeFlagBytes(blob); // Uint8Array,  one LAS flag byte per point

Holding a whole .lepcc (LPC1-framed) container rather than one loose attribute blob? LepccContainerDecoder unpacks it and yields a quantized point tile through the SDK's streaming Decoder contract.

Streaming a native I3S point cloud service instead of loose blobs? LepccI3sPointCloudDecoder and its worker variant are the decode seam that @bitruvius/i3s and the MapLibre I3S point cloud layer already use, so you get this decoder there without wiring it up.

What ships

npm i @bitruvius/turbo-lepcc

Decode only. The encoder is not in the .wasm and is not part of this package. Encoding lives in the native TurboLEPCC library, published on bitruvius.com as a drop-in for Esri liblepcc and currently listed as coming soon.

No peer dependencies. The wasm is vendored and committed, and it resolves next to your bundle automatically. In a Web Worker, in Node or Bun, or against a cross-origin CDN copy, hand it the bytes instead:

const decoder = new LepccDecoder({ wasmInit: { wasmBytes } });

Your CSP needs script-src 'wasm-unsafe-eval'. A self-contained ESM bundle is also on the Bitruvius CDN if you would rather skip the bundler.

Learn more

Trademarks

Esri, ArcGIS, I3S and LEPCC are trademarks of Environmental Systems Research Institute, Inc. MapLibre is a trademark of the MapLibre organization. All other marks are the property of their respective owners.

These names are used solely to describe the data formats this software interoperates with. Bitruvius is not affiliated with, sponsored by, or endorsed by any of them, and no such relationship is implied.

TurboLEPCC is an independent implementation of the openly published LEPCC format, developed by Bitruvius and verified against Esri's liblepcc reference, which Esri releases under the Apache 2.0 license. It is neither produced nor endorsed by Esri, and byte-exact parity is a measured property of our test corpus rather than any form of certification.

License

Proprietary. The full terms ship as LICENSE inside this package, and are readable before installing at cdn.bitruvius.com/legal/sdk-license-v1.txt.

© Bitruvius, Inc.