# 设计

输入 Bytes 经按需词法器进入显式分组栈，再构建段落/run 文档模型。核心包不依赖文件系统；cli 包为可在所有后端测试的纯参数/执行逻辑；cmd/main 是 native 异步 I/O 适配层。

词法器先处理二进制长度再解析括号，避免图片字节破坏分组。代码页解码和 Unicode fallback 在状态机中处理；字体查询使用索引，避免逐字节线性扫描字体表。文档树和诊断均有数量上限。

公开类型属于根包；内部 Lexer、Parser、State 保持私有。样式值随分组复制，文本 run 保存各自样式；字段上下文共享，以便字段指令先于显示内容解析。诊断不直接抛给调用方，ParseResult 同时提供部分模型与 complete 状态。

JSON 使用显式 schema。Markdown 和 HTML 做内容转义和链接 scheme 检查；图片、OLE、字段指令均不执行。纯文本导出默认排除隐藏内容。字符串输出单位为 UTF-16，原始位置单位为字节。

输出限制当前在序列化完成后检查，因此不是严格的输出分配上限。输入、节点和解码文本限制约束解析规模；后续可增加流式输出。源模型为逻辑提取模型，不支持无损重写 RTF。

测试同时覆盖语义案例、错误输入、截断和资源限额；CLI 用独立 Python 驱动实际进程，验证 stdout/stderr、文件输出及退出码。Python 仅是开发测试工具，不是产品运行依赖。
