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
//! Multi-layer API for Altium file access.
//!
//! This module provides a layered architecture for working with Altium files:
//!
//! - **Layer 1 (CFB)**: Low-level CFB wrapper with reverse engineering helpers
//! - **Layer 2 (Generic)**: Dynamic record access without type knowledge
//! - **Layer 3 (Typed)**: Strongly-typed access with derive macros
//!
//! # Quick Start
//!
//! ```ignore
//! use altium_format::api::AltiumDocument;
//!
//! // Open any Altium file
//! let mut doc = AltiumDocument::open("library.SchLib")?;
//!
//! // Layer 1: CFB access
//! for stream in doc.cfb().streams()? {
//! println!("{}: {} bytes", stream.path, stream.size);
//! }
//!
//! // Layer 2: Generic access
//! let container = doc.records("/Resistor/Data")?;
//! for record in container.iter() {
//! println!("{:?}", record.get("LIBREFERENCE"));
//! }
//!
//! // Layer 3: Typed access
//! let component: TypedAccessor<SchComponent> = doc.record_as("/Resistor/Data", 0)?;
//! println!("Component: {}", component.lib_reference);
//! ```
pub use ;
pub use AltiumDocument;
pub use ;
pub use ;