1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! WASM Component Model bindings for OxiGDAL.
//!
//! This module provides a component-model-compatible API surface that works
//! with both `wasm32-wasip2` (WASM Component Model) and
//! `wasm32-unknown-unknown` (classic WASM / wasm-bindgen).
//!
//! # Design principles
//!
//! * **No C/Fortran dependencies** — all types are pure Rust and
//! `#[no_std]`-friendly (except for the `std::collections` usage in the
//! vector module).
//! * **Stable ABI** — discriminants and field layouts are chosen to be
//! stable across crate versions.
//! * **Zero-copy where possible** — large data (raster pixels, WKB geometry)
//! is kept in `Vec<u8>` and can be exposed via raw pointer exports for
//! the host to read without an extra copy.
//!
//! # Sub-modules
//!
//! | Module | Contents |
//! |--------|----------|
//! | [`types`] | Shared primitive types: [`ComponentBbox`], [`ComponentDataType`], [`ComponentError`], [`ImageDimensions`] |
//! | [`raster`] | [`ComponentRaster`] + [`ComponentRasterOps`] (clip, resample) |
//! | [`vector`] | [`ComponentFeature`], [`ComponentFeatureCollection`], [`FieldValue`] |
//! | [`projection`] | [`ComponentProjection`], [`ComponentCoord`], [`ComponentTransform`] |
// Re-export the most commonly used items at the module level so callers can
// write `use oxigdal_wasm::component::ComponentRaster;` without going deeper.
pub use ;
pub use ;
pub use ;
pub use ;