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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//! ASS dialogue event analysis and processing
//!
//! Provides comprehensive analysis capabilities for ASS dialogue events including
//! timing validation, overlap detection, text analysis, and performance impact
//! assessment. Designed for zero-copy efficiency with lifetime-generic references.
//!
//! # Features
//!
//! - **Timing Analysis**: Overlap detection using O(n log n) sweep-line algorithm
//! - **Text Processing**: Override tag parsing and Unicode complexity detection
//! - **Performance Scoring**: Animation complexity and rendering impact assessment
//! - **Zero-Copy Design**: Minimal allocations via lifetime-generic spans
//! - **Standards Compliance**: Full ASS v4+ and libass 0.17.4+ compatibility
//!
//! # Performance Targets
//!
//! - Event analysis: <1ms per dialogue event
//! - Overlap detection: <1ms for 1000 events
//! - Text parsing: <0.5ms per event text
//! - Memory usage: ~1.1x input size via zero-copy spans
//!
//! # Quick Start
//!
//! ```rust
//! use ass_core::analysis::events::{DialogueInfo, find_overlapping_events};
//! use ass_core::parser::Event;
//!
//! let event = Event {
//! start: "0:00:00.00",
//! end: "0:00:05.00",
//! text: "Hello {\\b1}world{\\b0}!",
//! ..Default::default()
//! };
//!
//! let info = DialogueInfo::analyze(&event)?;
//! println!("Duration: {}ms", info.duration_ms());
//! println!("Animation score: {}/10", info.animation_score());
//! println!("Performance impact: {:?}", info.performance_impact());
//! # Ok::<(), Box<dyn std::error::Error>>(())
//! ```
//!
//! # Module Organization
//!
//! - [`dialogue_info`] - Individual event analysis and timing validation
//! - [`text_analysis`] - Text content parsing and Unicode complexity detection
//! - [`overlap`] - Efficient timing overlap detection algorithms
//! - [`utils`] - Collection operations like sorting and duration calculations
pub use ;
pub use ;
pub use ;
pub use ;
pub use TextAnalysis;
pub use ;