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
/// The intermediate representation of a parsed DOCX document.
///
/// Produced by an [`AstExtractor`](crate::adapters::docx::AstExtractor) and consumed
/// by a [`Renderer`](crate::render::Renderer). This is the bridge between the
/// parsing and rendering stages of the conversion pipeline.
///
/// ```text
/// DOCX body ──▶ AstExtractor ──▶ DocumentAst ──▶ Renderer ──▶ Markdown
/// ```
/// A single block-level element in the document.
///
/// Each variant holds the already-rendered string content for that block.
/// The [`Renderer`](crate::render::Renderer) joins these blocks and appends
/// reference definitions.
/// Collected reference definitions for footnotes, endnotes, and comments.
///
/// These are appended after the main content by the [`Renderer`](crate::render::Renderer)
/// using Markdown footnote syntax (`[^N]: text`).