terrain_codec/lib.rs
1//! Terrain processing utilities for 3D tile generation.
2//!
3//! This crate ties together [`martini`] (RTIN mesh generation) and
4//! [`quantized_mesh`] (Cesium quantized-mesh-1.0 encode/decode) and adds
5//! higher-level utilities — most notably **seamless vertex-normal
6//! computation from a halo-extended DEM grid**, which keeps shading
7//! continuous across tile boundaries.
8//!
9//! # Re-exports
10//!
11//! The two underlying crates are re-exported as modules, so downstream
12//! code can use them through this single dependency:
13//!
14//! ```no_run
15//! use terrain_codec::{martini, quantized_mesh};
16//! ```
17//!
18//! # Normals
19//!
20//! See [`normals`] for the seam-free buffered-gradient normal algorithm
21//! and a simpler per-tile face-normal accumulator.
22//!
23//! # Heightmap codecs
24//!
25//! See [`heightmap`] for Terrarium / Mapbox Terrain-RGB / GSI 地理院標高タイル
26//! `encode` ⇄ `decode` pairs.
27
28pub use martini;
29pub use quantized_mesh;
30
31pub mod heightmap;
32pub mod layer_json;
33pub mod normals;
34pub mod tile_coords;