Architectural Design
Document Version Information
- Current Document Version:
0.1 - Status:
Requirements Gathering & Draft Specifications - Date: June 7, 2026
The architectural design decoupling parsing frontends from rendering backends is outlined below:
Component Breakdown
BaseParser: Abstract interface for all frontends.- Satisfies:
REQ-NFN-02
- Satisfies:
DoxygenXmlParser: Parses Doxygen XML models into a structured in-memory AST, respecting ignore tags (DOM-IGNORE-BEGIN/DOM-IGNORE-END,\cond,\internal).- Satisfies:
REQ-FUN-01,REQ-FUN-02,REQ-FUN-13
- Satisfies:
Intermediate Representation (IR): A strict, language-agnostic data model mapping code hierarchies (Namespaces, Classes, Methods, Enums, Variables, Parameters, Returns).LlmTranslationService[DEFERRED - Future Phase (v2.0+)]: Optional helper service that integrates with an external LLM API (e.g., Gemini) to translate description blocks inside the IR, enabling zero-effort multilingual generation.- Satisfies:
REQ-FUN-06
- Satisfies:
BaseRenderer: Abstract interface for all backends.- Satisfies:
REQ-NFN-02
- Satisfies:
HugoMarkdownRenderer: Compiles UDE IR into static Markdown pages tailored for Hugo using Jinja2 templates.- Satisfies:
REQ-FUN-03,REQ-FUN-04
- Satisfies:
HtmlRenderer: Compiles UDE IR into standalone static HTML documentation pages using Jinja2 templates.- Satisfies:
REQ-FUN-03
- Satisfies:
RagJsonRenderer[DEFERRED - Future Phase (v2.0+)]: Compiles UDE IR into semantic-friendly hierarchical JSON documents.- Satisfies:
REQ-FUN-05
- Satisfies: