Skip to main content

webarkitlib_rs/
lib.rs

1/*
2 *  lib.rs
3 *  WebARKitLib-rs
4 *
5 *  This file is part of WebARKitLib-rs - WebARKit.
6 *
7 *  WebARKitLib-rs is free software: you can redistribute it and/or modify
8 *  it under the terms of the GNU Lesser General Public License as published by
9 *  the Free Software Foundation, either version 3 of the License, or
10 *  (at your option) any later version.
11 *
12 *  WebARKitLib-rs is distributed in the hope that it will be useful,
13 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 *  GNU Lesser General Public License for more details.
16 *
17 *  You should have received a copy of the GNU Lesser General Public License
18 *  along with WebARKitLib-rs.  If not, see <http://www.gnu.org/licenses/>.
19 *
20 *  As a special exception, the copyright holders of this library give you
21 *  permission to link this library with independent modules to produce an
22 *  executable, regardless of the license terms of these independent modules, and to
23 *  copy and distribute the resulting executable under terms of your choice,
24 *  provided that you also meet, for each linked independent module, the terms and
25 *  conditions of the license of that module. An independent module is a module
26 *  which is neither derived from nor based on this library. If you modify this
27 *  library, you may extend this exception to your version of the library, but you
28 *  are not obligated to do so. If you do not wish to do so, delete this exception
29 *  statement from your version.
30 *
31 *  Copyright 2026 WebARKit.
32 *
33 *  Author(s): Walter Perdan @kalwalt https://github.com/kalwalt
34 *
35 */
36
37//! # WebARKitLib-rs Core
38//!
39//! `webarkitlib-rs` is the foundational library for the Rust port of WebARKitLib.
40//! It provides core computer vision algorithms for Augmented Reality, including:
41//! - Image processing and filtering
42//! - Thresholding and labeling
43//! - Marker detection and identification
44//! - Pose estimation and matrix calculations
45//!
46//! ## Performance and SIMD
47//!
48//! This crate includes high-performance SIMD optimizations for critical image processing
49//! paths (grayscale conversion, filtering, and pattern matching).
50//! - **SSE4.1** is supported for x86_64 targets.
51//! - **WASM SIMD** is supported for web targets.
52//!
53//! To enable these optimizations, compile with the `simd` feature:
54//! ```bash
55//! cargo build --release --features simd
56//! ```
57//! Detailed benchmark results can be found in `crates/core/benches/BENCHMARKS.md`.
58//!
59//! ## Example
60//!
61//! ```rust,no_run
62//! use webarkitlib_rs::marker::ar_detect_marker;
63//! // ... detection logic here
64//! ```
65
66pub mod version;
67pub mod types;
68pub mod math;
69pub mod param;
70pub mod icp;
71pub mod image_proc;
72pub mod labeling;
73pub mod marker;
74pub mod matrix;
75pub mod pattern;
76pub mod pose;
77pub mod ar2;
78pub mod bch;