[Showcase] WebARKitLib-rs โ A High-Performance Rust & WASM Port of ARToolkit
Hello everyone!
![]()
I am Walter from webarkit github org!
Iโm excited to share WebARKitLib-rs, a from-scratch port of the classic WebARKitLib (ARToolkit) engine to Rust.
The goal of this project is to bring battle-tested marker tracking to the modern web and native ecosystems with memory safety and SOTA performance.
Key Features
- Pure Rust Core: A safe, side-effect-free implementation of the ARToolkit tracking engine.
- Blazing Fast WASM: Optimized for the web with a zero-copy memory bridge between JavaScript and Rust.
- SIMD Accelerated: Custom WASM SIMD and SSE4.1 kernels for grayscale conversion and pattern matching, yielding up to 2.3x speedups.
- Barcode (Matrix) Support: Full support for 3x3 to 6x6 matrix markers with BCH/Hamming error correction for robust detection.
- Dual-Build Pipeline: We provide both Standard and SIMD-optimized WASM modules with an automated loader that picks the best one for your browser.
- Performance Parity: Achieved ~400ยตs tracking times on standard resolutions (benchmarked against the original C implementation).
Why Rust & WASM?
By porting to Rust, weโve eliminated many of the "footguns" found in legacy C codebases while gaining access to top-tier WASM performance. Whether you're building a web-based AR experience or a native Rust application, the engine is designed to be lightweight and highly portable.
Get Started
The project is open-source and ready for feedback!
- GitHub: WebARKitLib-rs
- NPM:
@webarkit/webarkitlib-wasm - webarkitlib-rs crate: webarkitlib-rs
I'd love to hear your thoughts or see what you build with it! ![]()
P:S. I'm not a great expert of Rust. I did this port with the Help of Antigravity and Google Gemini.