Workspace Crate Map¶
Public facade¶
open_redact_pdf¶
Stable Rust API surface for document open, inspect, search, redact, and save.
Internal engine crates¶
pdf_objects¶
Responsible for:
- parser
- object model
- classic xref loading
- stream storage
- PDF serialization
pdf_content¶
Responsible for:
- content stream tokenization
- operand parsing
- low-level operation IR
- page content concatenation
pdf_graphics¶
Responsible for:
- matrices
- points, rects, quads
- page normalization transforms
- geometry helpers
pdf_text¶
Responsible for:
- font loading for the supported subset
- glyph positioning
- text extraction
- visual-order text search
- search match geometry
pdf_targets¶
Responsible for:
- canonical redaction targets
- plan normalization
- validation
- page-space bounds
pdf_redact¶
Responsible for:
- redaction planning
- glyph removal
- vector neutralization
- image invocation removal
- annotation removal
- overlay fill painting
pdf_writer¶
Responsible for:
- deterministic full-document save
- new xref emission
pdf_wasm¶
Responsible for:
- wasm-bindgen exports
- serde bridging between JS and Rust types
JS packages¶
packages/ts-sdk¶
Thin typed wrapper around wasm exports. It normalizes raw wasm output into the stable TS types exposed to browser applications.
apps/demo-web¶
Example browser UI that:
- loads local PDFs
- renders pages with PDF.js
- authors rectangle targets
- compiles search matches into quad-group targets
- applies redactions through the wasm engine