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
//! Voxlap on-disk formats and data manipulation.
//!
//! Parsers for `.vxl` (heightmap + slab voxel columns), `.kv6` / `.kvx`
//! (sprite voxel data), and `.kfa` (kv6 transform / animation). Lands
//! across the R2.* sub-substages of `PORTING-RUST.md`:
//!
//! - R2.1: `.kvx`
//! - R2.2: `.kv6`
//! - R2.3: `.vxl`
//! - R2.4: `.kfa`
//!
//! [`edit`] hosts voxel-edit primitives (delslab/insslab/expandrle/
//! compilerle/`ScumCtx`) and high-level wrappers (`set_spans`,
//! `set_cube`, `set_sphere`, `set_rect`). They live with the data
//! they manipulate; rendering stays in `roxlap-core`.
/// Rigged-character container (`.rkc`) — meshes + skeleton + clips, the
/// on-disk form of a complete animated voxel character. Built on
/// [`kfa`] / [`kv6`] / [`sprite`].
/// Voxlap's `univec[256]` surface-normal direction table + the
/// `normal → dir` quantiser ([`equivec::nearest_dir`]). Lives here (not
/// roxlap-core) so [`kv6`] model builders can fill per-voxel `dir`
/// without a circular dependency; roxlap-core re-exports it.
pub use Rgb6;