pdftract/crates/pdftract-core/src
jedarden 2cf02c6b2b feat(pdftract-sdx9z): implement Line struct and baseline computation
- Add layout::line module with Line<S> struct for Phase 4.2 line formation
- Implement compute_baseline() using plan formula: y0 + height * 0.2
- Add LineDirection enum with serde support (Ltr, Rtl, Mixed)
- Add union_bboxes() helper for computing span bbox unions
- Add HasBBox trait for generic span type support

Acceptance criteria:
- compute_baseline([0,100,50,110]) returns 102.0 (height 10)
- compute_baseline([0,100,50,100]) returns 100.0 (zero height)
- LineDirection serde roundtrips to "ltr"/"rtl"/"mixed"
- All 11 unit tests pass

Closes: pdftract-sdx9z
2026-05-24 02:54:00 -04:00
..
attachment feat(pdftract-core): add /AF associated files array walker 2026-05-24 01:35:23 -04:00
cache feat(pdftract-2i6rt): implement cache CLI subcommand and HTTP integration 2026-05-23 06:33:43 -04:00
fingerprint feat(pdftract-154mz): fix canonicalization module compilation 2026-05-20 19:24:38 -04:00
font feat(pdftract-5f92): implement Type3 font loader 2026-05-24 01:07:18 -04:00
layout feat(pdftract-sdx9z): implement Line struct and baseline computation 2026-05-24 02:54:00 -04:00
parser test(pdftract-sy8x): implement lexer proptest harness and curated corpus 2026-05-24 02:36:37 -04:00
receipts feat(pdftract-zy2jx): generate JSON Schema from Rust output types 2026-05-24 01:29:14 -04:00
render feat(pdftract-4my): implement pdfium-render path behind full-render feature 2026-05-23 16:28:08 -04:00
schema feat(pdftract-zy2jx): generate JSON Schema from Rust output types 2026-05-24 01:29:14 -04:00
table feat(pdftract-3zhf): add unified TableDetector::detect entry point 2026-05-24 00:51:59 -04:00
classify.rs feat(pdftract-2zw): page classification fixtures + integration tests + reproducibility gate 2026-05-23 15:04:05 -04:00
diagnostics.rs feat(pdftract-trhin): implement BMC/BDC/EMC operator parsers and marked-content stack 2026-05-24 02:25:47 -04:00
document.rs feat(pdftract-3zhf): add unified TableDetector::detect entry point 2026-05-24 00:51:59 -04:00
dpi.rs feat(pdftract-sg6): implement DPI selection logic for OCR rendering 2026-05-23 17:37:40 -04:00
extract.rs feat(pdftract-zy2jx): generate JSON Schema from Rust output types 2026-05-24 01:29:14 -04:00
graphics_state.rs feat(pdftract-byq): implement direct image compositing path (Phase 5.2.1) 2026-05-23 15:46:38 -04:00
hybrid.rs feat(pdftract-4y9l): implement hybrid page routing with bbox merge rule 2026-05-23 17:48:00 -04:00
lib.rs feat(pdftract-vk0gc): implement markdown anchors with parser regex 2026-05-24 02:49:16 -04:00
markdown.rs feat(pdftract-vk0gc): implement markdown anchors with parser regex 2026-05-24 02:49:16 -04:00
ocr.rs feat(pdftract-core): add run_tesseract integration and WER calculation 2026-05-24 01:12:33 -04:00
options.rs feat(pdftract-vk0gc): implement markdown anchors with parser regex 2026-05-24 02:49:16 -04:00
preprocess.rs fix(pdftract-27n3): remove duplicate import in preprocess module 2026-05-23 21:55:11 -04:00
render.rs feat(pdftract-4my): implement pdfium-render path behind full-render feature 2026-05-23 16:28:08 -04:00
semaphore.rs fix(pdftract-bf-5mry9): fix compilation bugs in rayon parallel extraction 2026-05-23 12:02:54 -04:00
url_validation.rs feat(pdftract-udo67): implement URL credential parsing 2026-05-24 02:15:16 -04:00