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
41
42
43
44
45
46
47
48
//! # mnk-vmf
//!
//! A fast parser for Valve Map Format (VMF) files used in Source engine.
//!
//! This crate provides efficient parsing of VMF files into a strongly-typed AST, with support
//! for all major VMF constructs including worlds, entities, solids, displacements, and more.
//!
//! ## Quick Start
//!
//! ```ignore
//! use mnk_vmf::VMF;
//!
//! let vmf = VMF::open("mymap.vmf")?;
//! let data = vmf.parse()?;
//!
//! for block in data {
//! match block {
//! mnk_vmf::VMFValue::World(world) => {
//! println!("World has {} solids", world.solids.len());
//! }
//! mnk_vmf::VMFValue::Entity(entity) => {
//! println!("Entity: {}", entity.classname);
//! }
//! _ => {}
//! }
//! }
//! ```
//!
//! ## Features
//!
//! - **Fast parsing**: Uses Chumsky parser combinators for efficient token-based parsing
//! - **Complete VMF support**: Handles versioninfo, visgroups, worlds, entities, solids, displacements, cameras, and more
//! - **Strong typing**: All VMF constructs are represented as Rust types with proper error handling
//!
//! ## Modules
//!
//! - [`vmf`]: Main entry point for loading and parsing VMF files
//! - [`types`]: All VMF data types (World, Entity, Solid, etc.)
//! - [`parser`]: Low-level parsing utilities and traits
pub use util;
pub use Parser;
pub use *;