# Style-System Overhaul + Smart Table Styling ## Beschreibung Vollstaendige Ueberarbeitung des Dokumenten-Styling-Systems in `serviceGeneration`: 1. **Statische Presets entfernt:** `THEME_PRESETS`, `resolveTheme()` und der `documentTheme`-Parameter wurden end-to-end entfernt (styleDefaults, mainServiceGeneration, _mediaTools, methodAi, generateDocument, documentPath, mainServiceAi, mainTrustee). Zurueck zum ADR-Originalentscheid 2026-04 (kein Theme-Katalog). 2. **AI-getriebene Style-Enhancement:** `_enhanceStyleWithAi()` in `mainServiceGeneration.py` analysiert Dokumenttitel, -typ und User-Request und liefert ein JSON-Delta auf den Basis-Style. Das vollstaendige Style-Set (~920 Bytes, alle 12 Sektionen) wird dem AI als Kontext mitgegeben. 3. **DEFAULT_STYLE modernisiert:** Cursor/VS-Code-inspirierte Basis-Aesthetik (Calibri, GitHub-Farbpalette, subtile Rahmen, leichte Header-Hintergruende). 4. **Style-Chain-Luecken geschlossen:** - `_convertUnifiedStyleToInternal()` erweitert um page, image, table font sizes, codeBlock.borderColor, coverPage, caption, table_banding, table_padding, fonts, colors - Heading-Key-Mismatch in XLSX/PPTX behoben - DOCX h3/h4 Styles registriert - Fallback-Farben an DEFAULT_STYLE angeglichen - HTML Legacy-Pfad (`_getStyleSet`, `_getDefaultStyleSet`) entfernt 5. **Smart Table Styling:** - Neue Style-Keys: `borderStyle` (grid/horizontal/none), `bandingEnabled` (Toggle), `cellPaddingPt` - Per-Table Overrides via `content.tableStyle` im JSON (deep-merge mit globalem Style) - Automatische Spaltenausrichtung (`_inferColumnAlignments`: Zahlen rechts, Daten zentriert, Text links) - Neue Schema-Sektionen `coverPage` und `caption` 6. **Dead Code entfernt:** `_getStyleSet`, `_enhanceStylesWithAI`, `_getDefaultStyleSet`, `_validateStylesContrast` und weitere Legacy-Methoden aus allen 5 Renderern. ## Entscheidungen | Datum | Entscheidung | Begruendung | |-------|-------------|-------------| | 2026-06-03 | THEME_PRESETS + documentTheme entfernt | ADR 2026-04 Originalentscheid wiederhergestellt | | 2026-06-03 | AI-Enhancement statt statischer Presets | Kontextbasierte Anpassung ohne Pflege eines Preset-Katalogs | | 2026-06-03 | Vollstaendiges Style-Set im AI-Prompt | Alle 12 Sektionen muessen anpassbar sein | | 2026-06-03 | Per-Table Overrides via content.tableStyle | Jede Tabelle kann eigene Styles haben | | 2026-06-03 | Auto-Column-Alignment | Deterministische Heuristik ohne AI-Call | ## Betroffene Dateien - `serviceGeneration/styleDefaults.py` — DEFAULT_STYLE, resolveStyle, deepMerge - `serviceGeneration/mainServiceGeneration.py` — renderReport, _enhanceStyleWithAi - `serviceGeneration/renderers/documentRendererBaseTemplate.py` — _convertUnifiedStyleToInternal, _inferColumnAlignments - `serviceGeneration/renderers/rendererPdf.py` — Smart Table, Cover, Caption, Code Border - `serviceGeneration/renderers/rendererDocx.py` — h3/h4, List, Code, Cover, Caption, Smart Table - `serviceGeneration/renderers/rendererPptx.py` — Heading-Fix, List, Code, Smart Table - `serviceGeneration/renderers/rendererXlsx.py` — Heading-Fix, List, Code Border, Smart Table - `serviceGeneration/renderers/rendererHtml.py` — Legacy entfernt, Heading Spacing, Caption CSS - `serviceAgent/coreTools/_mediaTools.py` — documentTheme entfernt - `workflows/methods/methodAi/*` — documentTheme entfernt - `serviceAi/mainServiceAi.py` — documentTheme entfernt ## Links - Kanonische Referenz: [b-reference/platform-core/document-rendering.md](../../b-reference/platform-core/document-rendering.md) - ADR: [c-work/4-done/2026-04-ai-reports-theming-and-pipeline.md](2026-04-ai-reports-theming-and-pipeline.md) - Vorgaenger: [c-work/4-done/2026-06-po-cleanup-neutralization-docgen.md](2026-06-po-cleanup-neutralization-docgen.md) (A3)